在 ubuntu 12.04 中,我将地理空间库 gdal-1.11.0 的源代码下载到 ~/src 中,配置它并成功编译它,看起来。新文件例如libgdal.a
放入 /usr/local/lib 中。
但是,当我运行依赖于它的程序时,
$ ogrinfo --formats
我明白了
ERROR 1: ogrinfo was compiled against GDAL 1.11 but current library version is 1.10
看来我还没有删除旧版本的GDAL。我该怎么做呢?
有关我的系统的一些信息:
$ uname -a
Linux ubuntu 3.11.0-15-generic #25~precise1-Ubuntu SMP Thu Jan 30 17:39:31 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
答案1
仅当您链接该文件而不使用共享库libgdal.a
时,才会使用该文件。ogrinfo
如果ogrinfo
以这种方式链接(不使用共享库),您将不会收到错误,因为库(版本 1.11)将是可执行文件的一部分。
你应该尝试的是运行
sudo ldconfig
编译并安装新版本的 后gdal
,应该通知系统(其中版本 1.10 已作为共享库加载)有新版本可用。
答案2
看来我还没有删除旧版本的GDAL。我该怎么做呢?
如果您保留了源代码,那么尝试make uninstall
是一个合理的选择,如果您正在进行本地安装,这是一个很好的做法。
一种简单的替代方法是删除与该库相关的所有文件(新旧文件),然后重新安装新文件。
然而,我想知道为什么当软件包在 Debian 上可用(因此在 Ubuntu 上可用)时您还要从源代码安装。如果您使用的是较旧版本的 Ubuntu,并且没有合适的 PPA 可用,请注意向后移植从较新的 Ubuntu 版本/版本是可能的,而且大多数时候并不困难。
Debian 中列出的 GDAL 1.11 构建依赖项是
构建依赖:debhelper (>= 9)、dh-autoreconf、zlib1g-dev、libnetcdf-dev (>= 1:4.0.0)、netcdf-bin、libjasper-dev、libpng-dev、libjpeg-dev、libgif- dev、libwebp-dev、libhdf4-alt-dev [!ppc64]、libhdf5-dev (>= 1.8.8)、libpcre3-dev、libpq-dev、libxerces-c-dev、unixodbc-dev (>= 2.2.11 )、doxygen、d-shlibs、libgeos-dev、libmysqlclient-dev、dh-python、python-all-dev(>= 2.6.6-3~)、python-numpy、python3-all-dev、python3-numpy、 libcurl4-gnutls-dev | libcurl4-gnutls-dev | libcurl-ssl-dev、libsqlite3-dev、libogdi3.2-dev、chrpath、swig、补丁、libexpat1-dev、libproj-dev、libdap-dev、libxml2-dev、libspatialite-dev (>= 2.4.0~rc2- 4)、libepsilon-dev (>= 0.9.1-1~)、libpoppler-private-dev、liblzma-dev、libopenjpeg-dev、libarmadillo-dev、libfreexl-dev (>= 1.0.0)、libkml-dev ( >= 1.3.0~)、liburiparser-dev、默认 jdk、ant
看起来还不错。需要明确的是,这里的想法是在您的版本上重建 Debian/Ubuntu 源。如果您需要提示或更多详细信息,我可以详细说明。
以下是 Debian 中可用的 GDAL 版本。
$ apt-cache policy libgdal1-dev
libgdal1-dev:
Installed: (none)
Candidate: 1.9.0-3.1
Version table:
1.11.0+dfsg1-1~exp2 0
1 http://debian.lcs.mit.edu/debian/ experimental/main amd64 Packages
1.10.1+dfsg-6 0
50 http://debian.lcs.mit.edu/debian/ testing/main amd64 Packages
50 http://debian.lcs.mit.edu/debian/ unstable/main amd64 Packages
1.9.0-3.1 0
500 http://debian.lcs.mit.edu/debian/ wheezy/main amd64 Packages
1.6.3-4+b1 0
500 http://debian.lcs.mit.edu/debian/ squeeze/main amd64 Packages