在archlinux中启动脚本时,我(本人是编程新手)收到以下错误消息,该脚本是由 friend 编写的:

/usr/bin/psxy: error while loading shared libraries: libgdal.so.1: cannot open shared object file: No such file or directory
/usr/bin/psbasemap: error while loading shared libraries: libgdal.so.1: cannot open shared object file: No such file or directory
/usr/bin/ps2raster: error while loading shared libraries: libgdal.so.1: cannot open shared object file: No such file or directory
/usr/bin/psxy: error while loading shared libraries: libgdal.so.1: cannot open shared object file: No such file or directory

那时,脚本使用Generic Mapping Tools(GMT)。我认为问题是链接器问题,并且与gdal有关。安装的版本是:
gdalinfo --version
GDAL 2.0.0, released 2015/06/14

而且,确实没有安装libgdal.so.1(或已将其重命名为/usr/lib/libgdal.so吗?):
/sbin/ldconfig -p | grep gdal
    libgdal.so.20 (libc6,x86-64) => /usr/lib/libgdal.so.20
    libgdal.so (libc6,x86-64) => /usr/lib/libgdal.so

但是,当我想安装gdal1时,就会与已经安装的gdal(我认为是2.0)发生冲突。

我能做什么?我是否需要编辑脚本,如果需要,请在何处使用gdal?

编辑:
在执行脚本之前,我输入LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib,出现与上述相同的错误消息。

然后,我尝试通过ldconfig编辑locate libgdal文件:
/usr/lib/libgdal.so
/usr/lib/libgdal.so.20
/usr/lib/libgdal.so.20.0.0

nano /etc/ld.so.conf -> adding /usr/lib/

但是/sbin/ldconfig -p | grep gdal仍然显示:
libgdal.so.20 (libc6,x86-64) => /usr/lib/libgdal.so.20
libgdal.so (libc6,x86-64) => /usr/lib/libgdal.so

最佳答案

您可以建立到该库的符号链接(symbolic link),以便您的应用程序可以找到它:

ln -s /usr/lib/libgdal.so /usr/lib/libgdal.so.1

之后,运行/sbin/ldconfig

关于django - 在archlinux中加载共享库: libgdal. so.1时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32806621/

10-10 21:52