【发布时间】:2015-09-27 09:51:01
【问题描述】:
我(我自己是一个程序新手)在archlinux中启动一个朋友写的脚本时收到以下错误消息:
/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,出现了与上面相同的错误消息。
然后,我尝试通过locate libgdal 编辑ldconfig 文件:
/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
【问题讨论】:
-
尝试:
ln -s /usr/lib/libgdal.so /usr/lib/libgdal.so.1并在之后运行/sbin/ldconfig -
是的,这有帮助!你摇滚!
-
好的,我会发布答案以防其他人搜索。