加载 rgdal 时出错
Error loading rgdal
我已经成功安装了 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 文件没有 link,但我不确定如何修复它。 libgdal.so.20 在 /home/nikhail1/bin/gdal/lib/ 下的系统中。 rgdal.so 文件位于我的 /home/nikhail1/ 系统中 R 库中的 rgdal 文件夹下。我没有权限在共享库上执行 ldconfig
功能(我是新手)。有没有人有一个功能可以帮助我让系统识别通往 libgdal.so.20 的路径。我在 Linux CentOs 6.9 系统上工作。我无法执行任何 sudo apt-get
、yum
或 brew
功能。
非常感谢,尼克海尔
您可以设置 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
已找到。如何使此持久化取决于您的桌面环境。
为了在 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
如果您使用清除选项来 gdal-bin 包,所有配置和依赖包都将被删除。
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')
现在一切都应该加载并且 运行 顺利。
我已经成功安装了 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 文件没有 link,但我不确定如何修复它。 libgdal.so.20 在 /home/nikhail1/bin/gdal/lib/ 下的系统中。 rgdal.so 文件位于我的 /home/nikhail1/ 系统中 R 库中的 rgdal 文件夹下。我没有权限在共享库上执行 ldconfig
功能(我是新手)。有没有人有一个功能可以帮助我让系统识别通往 libgdal.so.20 的路径。我在 Linux CentOs 6.9 系统上工作。我无法执行任何 sudo apt-get
、yum
或 brew
功能。
非常感谢,尼克海尔
您可以设置 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
已找到。如何使此持久化取决于您的桌面环境。
为了在 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 如果您使用清除选项来 gdal-bin 包,所有配置和依赖包都将被删除。
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')
现在一切都应该加载并且 运行 顺利。