错误:安装 R 依赖包时未找到 gdal-config,而 gdal 已安装

2024-10-31 08:38:00
admin
原创
50
摘要:问题描述:请指出我遗漏的一点:openSUSE 11.3xx@linux-y3pi:~/Desktop/R> sudo R CMD INSTALL rgdal_0.7-12.tar.gz root's password: * installing to library ‘/usr/l...

问题描述:

请指出我遗漏的一点:

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

解决方案 1:

在 Ubuntu 18.04 中

我已修复此问题,sudo apt install libgdal-dev
希望有人觉得这有用。上面的一些答案似乎已过时且冗长。

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

sudo apt-get install libgdal-dev

解决方案 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$ 

并且R CMD INSTALL rgdal_0.7-8.tar.gz按照您期望的 CRAN 包那样运行良好,因为在 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通过依赖项将“具体”的当前运行时包(此处: )拉入。

解决方案 3:

您可以使用apt-file包来查找哪个包包含您正在寻找的丢失的文件。

首先使用命令安装apt-file ,使用命令apt-get install apt-file
更新apt-file,apt-file update
现在您可以使用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

解决方案 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:

macOS上

brew install gdal

删除了错误

未找到 gdal-config

解决方案 6:

在 CentOS 6 上尝试一下

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

解决方案 7:

此后,我的 Mac Monterrey 仍继续抱怨brew install gdal

不过,这个 github 问题中的建议起了作用

install.packages("sf", type = "source", configure.args = 
'--with-gdal-lib=/opt/homebrew/opt/gdal/lib/ 
--with-sqlite3-lib=/opt/homebrew/opt/sqlite/lib/ 
--with-gdal-config=/opt/homebrew/bin/gdal-config
--with-proj-share=/opt/homebrew/opt/proj/share/ 
--with-proj-lib=/opt/homebrew/opt/proj/lib 
--with-proj-include=/opt/homebrew/opt/proj/include/
--with-geos-config=/opt/homebrew/opt/geos/bin/geos-config')

解决方案 8:

阅读参考手册。

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

解决方案 9:

对于 manjora 或 archlinux,只需尝试:
yay -S gdal

解决方案 10:

今天我在没有管理权限的 Linux CentOS 6.10 上也出现了同样的问题。

我做了什么:

a) 创建专用于我的 R 版本的 conda 环境

conda create --name MYR

b) 激活环境

source activate MYR

c)安装 R

conda install -c conda-forge r-base

d)安装 libgdal

conda install -c conda-forge libgdal

这帮我解决了问题。我的 R 版本是 4.1.3。我想其他版本应该也可以。

解决方案 11:

在 Manjaro 上:

sudo pamac install gda

无需安装额外的包或库。

相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   601  
  华为IPD与传统研发模式的8大差异在快速变化的商业环境中,产品研发模式的选择直接决定了企业的市场响应速度和竞争力。华为作为全球领先的通信技术解决方案供应商,其成功在很大程度上得益于对产品研发模式的持续创新。华为引入并深度定制的集成产品开发(IPD)体系,相较于传统的研发模式,展现出了显著的差异和优势。本文将详细探讨华为...
IPD流程是谁发明的   7  
  如何通过IPD流程缩短产品上市时间?在快速变化的市场环境中,产品上市时间成为企业竞争力的关键因素之一。集成产品开发(IPD, Integrated Product Development)作为一种先进的产品研发管理方法,通过其结构化的流程设计和跨部门协作机制,显著缩短了产品上市时间,提高了市场响应速度。本文将深入探讨如...
华为IPD流程   9  
  在项目管理领域,IPD(Integrated Product Development,集成产品开发)流程图是连接创意、设计与市场成功的桥梁。它不仅是一个视觉工具,更是一种战略思维方式的体现,帮助团队高效协同,确保产品按时、按质、按量推向市场。尽管IPD流程图可能初看之下显得错综复杂,但只需掌握几个关键点,你便能轻松驾驭...
IPD开发流程管理   8  
  在项目管理领域,集成产品开发(IPD)流程被视为提升产品上市速度、增强团队协作与创新能力的重要工具。然而,尽管IPD流程拥有诸多优势,其实施过程中仍可能遭遇多种挑战,导致项目失败。本文旨在深入探讨八个常见的IPD流程失败原因,并提出相应的解决方法,以帮助项目管理者规避风险,确保项目成功。缺乏明确的项目目标与战略对齐IP...
IPD流程图   8  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用