【问题标题】:Error: gdal-config not found while installing R dependent packages whereas gdal is installed错误:安装 R 依赖包时未找到 gdal-config 而 gdal 已安装
【发布时间】:2012-08-21 21:47:40
【问题描述】:

请指出我遗漏的一点:

openSUSE 11.3


xx@linux-y3pi:~/Desktop/R> sudo R CMD INSTALL rgdal_0.7-12.tar.gz 
root's password:
* installing to library ‘/usr/lib64/R/library’
* installing *source* package ‘rgdal’ ...
** package ‘rgdal’ successfully unpacked and MD5 sums checked
configure: gdal-config: gdal-config
checking gdal-config usability... ./configure: line 1353: gdal-config: command not found
no
Error: gdal-config not found
The gdal-config script distributed with GDAL could not be found.
If you have not installed the GDAL libraries, you can
download the source from  http://www.gdal.org/
If you have installed the GDAL libraries, then make sure that
gdal-config is in your path. Try typing gdal-config at a
shell prompt and see if it runs. If not, use:
 --configure-args='--with-gdal-config=/usr/local/bin/gdal-config'
with appropriate values for your installation.

ERROR: configuration failed for package ‘rgdal’
* removing ‘/usr/lib64/R/library/rgdal’

xx@linux-y3pi:~/Desktop/R> whereis gdal-config
gdal-config: /usr/local/bin/gdal-config

xx@linux-y3pi:~/Desktop/R> gdal-config 
Usage: gdal-config [OPTIONS]
Options:
 [--prefix[=DIR]]
 [--libs]
 [--dep-libs]
 [--cflags]
 [--datadir]
 [--version]
 [--ogr-enabled]
 [--formats]
 xx@linux-y3pi:~/Desktop/R>

> sessionInfo()
R version 2.15.1 (2012-06-22)
Platform: x86_64-unknown-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=C                 LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     
> 

xx@linux-y3pi:~/Desktop/R> gdal-config --version
1.9.0

xx@linux-y3pi:~/Desktop/R> proj
Rel. 4.8.0, 6 March 2012
usage: proj [ -beEfiIlormsStTvVwW [args] ] [ +opts[=arg] ] [ files ]

linux-y3pi:~ # $PATH
bash: /home/xx/qtsdk-2010.05/qt/bin/:/home/xx/qtsdk-2010.05/bin:/home/xx/qtsdk-2010.05/qt/bin:/home/xx/qtsdk-2010.05/qt/bin/:/home/xx/qtsdk-2010.05/bin:/usr/lib64/mpi/gcc/openmpi/bin:/home/xx/bin:/usr/local/bin:/usr/bin:/sbin:/usr/sbin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games: No such file or directory

【问题讨论】:

  • 啊哈! which gdal-config 返回 /usr/local/bin/gdal-configsudo which gdal-config 返回 which: no gdal-config in (/sbin:/bin:/usr/sbin:/usr/bin)

标签: linux r installation gdal


【解决方案1】:

在 Ubuntu 18.04 中

我通过sudo apt install libgdal-dev 修复了这个问题 希望有人觉得这很有帮助。上面的一些答案似乎已经过时且冗长。

在早期版本中(有 apt-get)

sudo apt-get install libgdal-dev

【讨论】:

  • 它适用于 Ubuntu 18.04 和 R 版本 3.4.4 (2018-03-15)。
  • 为我工作(Ubuntu 18.04;R 3.6.3)。不需要“sudo apt-get install libproj-dev”来安装 rgdal。
  • 是的,我使用 debian-stretch 也是如此
  • 在 Ubuntu 20.04 上为我工作
  • 在 Ubuntu 18.04.4 和 R 4.0.2 中为我工作。尝试安装 sf 包时出现类似错误。
【解决方案2】:

除了用于部署的普通包之外,您还需要带有标题和共享库链接的-dev 包以用于开发。就发行版而言,有两种不同的用例。

关于我的发行版:

edd@max:/tmp$ dpkg -l | grep gdal | cut -c-72
ii  libgdal1-1.7.0                                1.7.3-6ubuntu3        
ii  libgdal1-dev                                  1.7.3-6ubuntu3        
edd@max:/tmp$ 

鉴于 CRAN 的所有构建时检查,R CMD INSTALL rgdal_0.7-8.tar.gz 工作正常,正如您对 CRAN 包所期望的那样。

2016 年底更新:正如@JoshO'Brien 在评论中指出的那样

小更新:在 2016 年,运行 Ubuntu 14.04.2,libgdal1h 似乎 已替换 libgdal1(尽管仍然需要 libgdal1-dev)。至少 当我尝试 apt-get install libgdal1

时,我收到了一个错误

对于 Ubuntu 16.04,对应的行是
sudo apt-get install libgdal1i

上游库的这种重命名很常见;诸如apt-cache search libgdal 之类的东西可以帮助定位当前的包名。 重要的关键是“抽象”开发包libgdal-dev是构建所需的全部,因为它将“具体”当前运行时包(此处:libgdal1i)通过一个依赖。

【讨论】:

  • 次要更新:在 2016 年,运行 Ubuntu 14.04.2,libgdal1h 似乎已经取代了libgdal1(尽管仍然需要libgdal1-dev)。至少当我尝试apt-get install libgdal1 时,我得到了一个错误。
  • +1 让我朝着正确的方向前进。由于我们是在 2018 年,并不是每个人都在基于 debian 的系统上工作,......在 Arch linux 上,诀窍在于通过 # pacman -Syu gdalcommunity/gdal 下载光栅化库。
  • @BrianStamper 当然,但您意识到答案已经有八年了,因此(当前)正确的集合可能会随着时间而改变。
  • 我希望你明白,2012 年是 8 年前。我希望您阅读 2016 年如何为 Ubuntu 16.04 编辑答案,以及如何在 2018 年添加另一个答案。他们在这里理解的关键是apt-cache search libgdal 之类的力量在任何时间点 找到then-current 名称。从根本上说,这比您在不理解的情况下复制的千篇一律的答案更有价值。因为 cookie 确实会过期。
【解决方案3】:

您可以使用 apt-file 包,查找包含您要查找的丢失文件的包。

首先使用apt-get install apt-file命令安装apt-file
使用apt-file update命令更新apt-file
现在你可以使用apt-file 来查找丢失的文件。 apt-file search gdal-config

就我而言,我在从 svn 配置grass-7.1 时遇到了同样的错误。如下图:

    $ ./configure
    ...more...
    checking whether to use GDAL... yes
    checking for gdal-config... /usr/bin/gdal-config
                  ...more....
    ./configure: 1: ./configure: /usr/bin/gdal-config: not found
    ./configure: 6093: test: =: unexpected operator
    configure: error: *** Unable to locate GDAL library.

但是,如下图所示,使用 apt-file 查找 gdal-config 文件后,我能够在安装包 libgdal1 后解决错误-dev

$ apt-file search gdal-config

结果

libgdal1-dev: /usr/bin/gdal-config

于是我安装了libgdal1-dev,如下图:

$ sudo apt-get install libgdal1-dev

【讨论】:

  • 这修复了这个错误,但我还必须执行sudo apt-get install libproj-dev 才能安装rgdal。见stackoverflow.com/questions/15248815/rgdal-package-installation
  • 我可以确认libproj-dev 也是需要的。 R 返回configure: error: proj_api.h not found... 否则@geneorama 提到。
  • 我确认这一点,包括 cmets 中的包,解决了我在 Ubuntu 16.04 和 R 3.4 上的问题。
  • 在 Ubuntu 19.10, R 3.6.2 我只需要sudo apt-get install libgdal-dev,不需要libproj-dev。注意:它是libgdal-dev 而不是libgdal1-dev
【解决方案4】:

发生这种情况是因为包“rgdal”的配置失败 所以我们必须安装必要的依赖项。

需要 libgdal-dev 和 libproj-dev 包:

sudo apt-get install gdal-bin proj-bin libgdal-dev libproj-dev

然后通过

安装rgdal
install.packages("rgdal")

通过

加载rgdal
library(rgdal)

【讨论】:

    【解决方案5】:

    ma​​cOS

    brew install gdal

    删除错误

    找不到gdal配置

    【讨论】:

    • 只是给其他人的提示,运行后注意终端输出,因为您可能需要做其他事情(在安装gdal之前我必须安装其他东西,我必须安装后链接它 - 但 brew 让我知道如何在输出中执行此操作)
    • 我还必须 brew install udunits geos proj 然后 gdal
    【解决方案6】:

    在 CentOS 6 上试试这个

    sudo yum install gdal gdal-python gdal-devel mapserver mapserver-python libxml2 libxml2-python python-lxml python-pip python-devel gcc
    

    【讨论】:

    • 不幸的是,在我的 centos 服务器上 sudo yum install gdal-devel 失败,出现一长串关于处理依赖关系的消息,然后是一堆错误。它们似乎涉及 centos 5 版本(例如 gdal-1.8.0-4.el5.elgis.x86_64),但我在 centos 6 上。
    • 我们真的需要所有这些吗? sudo yum install gdal-devel 还不够吗?
    【解决方案7】:

    阅读参考手册。

    从源代码构建的系统要求:GDAL >= 1.6.0 库 来自http://trac.osgeo.org/gdal/wiki/DownloadSource 和 PROJ.4 (proj >= 4.4.9) 来自http://trac.osgeo.org/proj/;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-17
      • 2017-06-30
      • 1970-01-01
      • 1970-01-01
      • 2022-07-11
      • 2018-09-24
      • 1970-01-01
      • 2018-01-31
      相关资源
      最近更新 更多