我已经成功地安装了rgdal包以及依赖项GDAL和Proj4。安装完成后,我使用library函数成功地在R中加载了这个包。然而,在我最近一次登录之后,当我键入命令library(rgdal)时,我得到了一条错误消息:
Error: package or namespace load failed for 'rgdal' in dyn.load(file,
DLLpath = DLLpath, ...):
unable to load shared object '/home/nikhail1/R/x86_64-pc-linux-gnu-
library/3.4/rgdal/libs/rgdal.so':
libgdal.so.20: cannot open shared object file: No such file or directory我理解这意味着没有指向libgdal文件的链接,但我不确定如何修复它。libgdal.so.20位于系统中的/home/nikhail1/bin/gdal/lib/下。rgdal.so文件位于my /home/nikhail1/ system中R库的rgdal文件夹下。我没有在共享库上执行ldconfig函数的权限(我是新手)。有没有人有一个函数可以帮助我让系统识别到libgdal.so.20的路径。我在Linux CentOs 6.9系统上工作。我不能执行任何sudo apt-get、yum或brew函数。
非常感谢,尼基尔
发布于 2018-02-16 17:34:06
您可以将LD_LIBRARY_PATH设置为包含/home/nikhail1/bin/gdal/lib,即在bash中
export LD_LIBRARY_PATH="/home/nikhail1/bin/gdal/lib:$LD_LIBRARY_PATH"
ldd /home/nikhail1/R/x86_64-pc-linux-gnu-library/3.4/rgdal/libs/rgdal.so应报告已找到libgdal.so.20。如何使其持久化取决于您的桌面环境。
发布于 2021-10-13 11:38:30
为了在R中运行rgdal函数,我经历了相当多的gdal,rgdal和它们的适当设置。目前我的防弹例程如下:
卸载GDAL
sudo apt-get remove gdal-bin 卸载包含依赖包的gdal bin
如果你想从Ubuntu中删除不再需要的gdal bin和它的依赖包,
sudo apt-get remove --auto-remove gdal-bin 使用清除gdal bin如果使用with purge options来打包所有配置和依赖包,则会删除所有配置和依赖包。
sudo apt-get purge gdal-bin 如果你使用清除选项和自动删除,将会删除所有关于软件包的东西,当你想要重新安装时它真的很有用。
sudo apt-get purge --auto-remove gdal-bin 只是为了确认一下,如果您已经多次尝试安装它,但都失败了,那么请按顺序运行所有这些。
安装GDAL
sudo apt-get update
sudo apt-get install gdal-bin proj-bin libgdal-dev libproj-dev -y安装RGDAL
在R中:
install.packages('rgeos', type='source')
install.packages('rgdal', type='source')现在一切都应该顺利加载和运行了。
https://stackoverflow.com/questions/48823509
复制相似问题