当尝试安装rgeos时,R找不到-lgeos。

7

我正在尝试在运行于Ubuntu 16.04的R 3.5.1中安装rgeos。当我运行以下命令时:

install.packages("rgeos")

我收到了以下信息:
* installing *source* package ‘rgeos’ ...
** package ‘rgeos’ successfully unpacked and MD5 sums checked
configure: CC: gcc -std=gnu99
configure: CXX: g++
configure: rgeos: 0.4-1
checking for /usr/bin/svnversion... yes
configure: svn revision: 579
checking for geos-config... /usr/bin/geos-config
checking geos-config usability... yes
configure: GEOS version: 3.5.1
checking geos version at least 3.2.0... yes
checking geos-config clibs... yes
checking geos_c.h  presence and usability... yes
checking geos: linking with libgeos_c... no
/usr/bin/ld: cannot find -lgeos
collect2: error: ld returned 1 exit status
configure: Install failure: compilation and/or linkage problems.
configure: error: initGEOS_r not found in libgeos_c.
ERROR: configuration failed for package ‘rgeos’
* removing ‘/home/rstudio/R/x86_64-pc-linux-gnu-library/3.5/rgeos’  
Warning in install.packages :
 installation of package ‘rgeos’ had non-zero exit status

我尝试安装地理空间库。

sudo apt-get install binutils libproj-dev gdal-bin

但是它并没有起到帮助的作用。

任何帮助都将不胜感激。


我在从Ubuntu 16.04升级到18.04后开始遇到相同的libgeos_c错误。尝试了您提到的库以及找到的两个版本的libgeos,但都没有成功。 - armipunk
1个回答

16

R 3.5.1存在同样的问题。这个修复解决了这个问题。

sudo apt install libgeos++-dev

太好了!这个解决方案对我来说并不明显。libgeos++-dev 中的 ++ 指的是这是一个 C++ 库... 但 R 中的错误消息指的是库 libgeos_c,我以为它是指一个 C 库,因此我从未想过缺少的依赖项会在这个包中。 - RTbecard

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