CentOS 6 64位下rgdal安装失败求助:libgdal.so.20找不到问题
解决CentOS 6 64位系统安装rgdal包时libgdal.so.20找不到的问题
从你贴的安装日志来看,核心问题很明确:GDAL 2.2.3已经装好了,但系统的动态链接库加载器找不到libgdal.so.20——这是因为CentOS 6默认不会把/usr/local/lib(GDAL的默认安装路径)加入动态库搜索路径,导致编译rgdal时依赖找不到。
下面给你分步解决的方案:
临时修复(立即生效,重启后失效)
先在RStudio-Server控制台里执行这行命令,临时把GDAL的库路径加入环境变量:
Sys.setenv(LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH")
然后重新运行安装命令:
install.packages("rgdal")
永久修复(重启后依然有效)
如果临时方法能解决,建议做永久配置,省得每次都要手动设置:
方法1:通过系统动态库配置文件添加
- 创建GDAL的库路径配置文件:
echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/gdal.conf
- 更新系统动态库缓存:
sudo ldconfig
- 重启RStudio-Server后再安装rgdal就没问题了。
方法2:通过用户环境变量配置(无sudo权限时用)
如果你没有管理员权限,可以修改自己的bash配置:
- 打开
~/.bashrc或者~/.bash_profile文件:
vi ~/.bashrc
- 在文件末尾添加一行:
export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"
- 让配置立即生效:
source ~/.bashrc
- 重启RStudio-Server后重新安装rgdal即可。
额外方案:强制指定GDAL路径安装
如果上面的方法还是不生效,可以在安装rgdal时直接指定GDAL的所有相关路径,确保编译时能精准找到依赖:
install.packages("rgdal", configure.args = c("--with-gdal-config=/usr/local/bin/gdal-config", "--with-proj-include=/usr/local/include", "--with-proj-lib=/usr/local/lib"))
附你提供的安装日志:
install.packages("rgdal")
正在将软件包安装至‘/home/admin/R/x86_64-redhat-linux-gnu-library/3.4’(因未指定‘lib’)
尝试URL 'https://cran.rstudio.com/src/contrib/rgdal_1.2-18.tar.gz'
内容类型'application/x-gzip',大小1650578字节(1.6 MB)已下载1.6 MB
- 正在安装源码包‘rgdal’...
** 软件包‘rgdal’已正确解压且MD5校验通过
configure: CC: gcc -m64 -std=gnu99
configure: CXX: g++ -m64
configure: rgdal: 1.2-18
checking for /usr/bin/svnversion... yes
configure: svn revision: 718
checking for gdal-config... /usr/local/bin/gdal-config
checking gdal-config usability... yes
configure: GDAL: 2.2.3
checking GDAL version >= 1.6.3... yes
checking gdal: linking with --libs only... yes
checking GDAL: /usr/local/share/gdal/pcs.csv readable... yes
configure: -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fpic -fPIC -I/usr/local/include
checking proj_api.h presence and usability... yes
./proj_conf_test1: error while loading shared libraries: libgdal.so.20: cannot open shared object file: No such file or directory
checking PROJ.4 version...
内容的提问来源于stack exchange,提问作者Saber bouabid
相关产品推荐
相关产品推荐

