在rgdal中配置错误:“gdal-config”

9

我目前在Linux集群上使用R运行一些物种分布建模和丰富度制图。为了运行我的分析,我需要安装rgdal,以便我的建模软件包中的栅格函数正常工作。我已经安装了proj4和gdal。然而,当我尝试安装rgdal时,出现错误信息:

checking for gdal-config... no
no

configure: error: gdal-config not found or not executable.
ERROR: configuration failed for package 'rgdal'

这是我使用的命令安装rgdal软件包:

install.packages("rgdal", configure.args=c("--with-proj-include=/home/nikhail1/bin/proj-4.9.2/bin", "--with-proj-lib=/home/nikhail1/bin/proj-4.9,2/lib"))

然而,尽管出现了gdal-config错误,gdal似乎已经安装到我的本地系统上(二进制和库文件夹位于我安装它们的地址中)。在gdal安装过程中,我也没有看到任何错误消息。为什么会出现这个错误?如何让R识别已安装的依赖项,或者如果存在问题,如何确定它?我在网上找到的大多数解决方案都是针对Debian和Ubuntu系统的,而我并没有使用这些系统。我没有权限使用sudo apt-get或yum命令。是否有gdal的任何依赖项我错过了,因为我只安装了proj 4.9.2?
我对Linux系统、rgdal和gdal软件包都很陌生。
非常感谢您的帮助。
敬礼,
Nikhail
5个回答

7

在Linux上安装RGDAL

在R中运行以下命令:

# install package from CRAN
# but specify the library director
# the download method
# and the configuration arguments
# to allow for source installs
install.packages( pkgs = "rgdal"
                    , lib = "./R_Packages"
                    , method = "curl"
                    , configure.args = c(
                                   "--with-gdal-config=/Library/Frameworks/GDAL.framework/Programs/gdal-config"
                                   , "--with-proj-include=/p/home/bin/proj4/include"
                                   , "--with-proj-lib=/p/home/bin/proj4/lib"
                                     ) 
      )

答案来源于交叉引用在LINUX系统上安装rgdal时出现的错误?安装rgdal时遇到的问题。

谢谢您的建议,但是我所使用的系统不允许我使用sudo apt-get命令安装软件,因为我不在Ubuntu上。此外,由于我的存储库中存在这两个软件(proj4和gdal)的文件夹,因此似乎我已经安装了它们。然而,我仍然遇到了一个令人困惑的gdal-config错误。 - Nikhail Arumoogum
非常感谢您,aspiringurbandatascientist。您的建议并不太离谱。我还必须在install.packages命令中包含到gdal配置文件的路径。 - Nikhail Arumoogum
@NikhailArumoogum,太棒了。你介意分享一下你使用的确切命令吗?一旦你这样做了,我会更新我的答案以反映适合你的命令。 - Cristian E. Nuno
2
install.packages("rgdal", configure.args=c("--with-proj-include=/home/nikhail1/bin/proj-4.9.2/bin", "--with-proj-lib=/home/nikhail1/bin/proj-4.9,2/lib", "--with-gdal-config=home/nikhail1/bin/gdal/bin")) - Nikhail Arumoogum
我怀疑这在任何Linux系统上都不会成功。框架机制的软件包部署是Mac的发明。 - IRTFM

4

我之前在CentOS 7系统上遇到了类似的问题,解决方法是先通过终端安装'gdal'和'proj'库-

sudo yum install gdal*
sudo yum install proj*

然后在install.packages命令中设置配置参数,如下所示-

install.packages( pkgs = "rgdal", 
                         configure.args = c("--with-proj=/bin", "--with-gdal=/bin"),
                         dependencies=TRUE)

在这种情况下,“gdal”和“proj”库都安装在root / bin文件夹中。虽然错误输出显示“找不到gdal-config”,但最后并不需要配置文件。

2
我按照以下步骤进行操作:
  1. 通过Anaconda安装了Python;
  2. 在Linux终端中运行了sudo apt install libmysqlclient-dev;
  3. 然后运行了sudo apt-get install gdal-bin proj-bin libgdal-dev libproj-dev;
  4. 最后,在R中运行了install.packages("rgdal")。

我不明白为什么需要安装Anaconda或Python来解决特定问题。 - IRTFM

2

我最终通过在 install.packages 命令中添加 gdal-config 文件的目录来解决了问题。

非常感谢您的帮助, Nikhail


0
对于基于 Arch 的发行版,在尝试安装任何依赖 rgdalR之前,只需使用pamacAdd/Remove Software安装gdal即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接