无法安装`proj4`软件包,因为在标准搜索位置找不到libproj和/或proj_api.h

时间:2019-05-25 11:58:07

标签: r r-package proj

我想安装需要安装ggalt软件包的proj4软件包,但是当我安装proj4时会抛出错误libproj and/or proj_api.h not found in standard search locations

我的计算机是Mac,并且我已经使用PROJ.4安装了brew install proj,R的版本是3.6.0_2。我在互联网上搜索了此问题,但没有找到解决问题的方法。我不是编码人员,只是开始学习R,所以我现在不知道该怎么做。

错误显示如下:

* installing *source* package ‘proj4’ ...
** package ‘proj4’ successfully unpacked and MD5 sums checked
** using staged installation
checking for gcc... clang
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether clang accepts -g... yes
checking for clang option to accept ISO C89... none needed
checking how to run the C preprocessor... clang -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... rm: conftest.dSYM: is a directory
rm: conftest.dSYM: is a directory
yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking proj_api.h usability... no
checking proj_api.h presence... no
checking for proj_api.h... no
checking for pj_init_plus in -lproj... yes
configure: error: libproj and/or proj_api.h not found in standard search locations.

*** Install PROJ.4 and if necessary set PKG_CPPFLAGS/PKG_LIBS accordingly.
ERROR: configuration failed for package ‘proj4’
* removing ‘/usr/local/lib/R/3.6/site-library/proj4’

The downloaded source packages are in
    ‘/private/var/folders/sn/1d6n55qs0zl522kcc769jq5h0000gn/T/RtmpNOkU64/downloaded_packages’

2 个答案:

答案 0 :(得分:1)

我也遇到了这个烦人的问题。我能够手动构建它-但目前这是一个肮脏的hack。请注意,我不是C程序员,所以不会固定。

我在proj_api.h的顶部找到了

#ifndef ACCEPT_USE_OF_DEPRECATED_PROJ_API_H
#error 'To use the proj_api.h you must define the macro ACCEPT_USE_OF_DEPRECATED_PROJ_API_H'
#endif

我认为我可以插入

#define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H

在包源src/p4.c的第7行和configure的第1462行之前(在两种情况下都在#include之前)。

我想也可以从proj_api.h中删除该部分-但是我丝毫没有暗示它可能会破坏任何内容。

答案 1 :(得分:0)

我正在运行Pop!_OS 20.04(Ubuntu分支),并且遇到proj4未安装(R 3.6.3)的相同问题。我不相信libproj已安装。我可以使用以下命令通过终端手动完成此操作:

sudo apt-get install libproj-dev

我重新启动R并能够安装proj4