添加了新图书馆,旧图书馆闲逛

添加了新图书馆,旧图书馆闲逛

在 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

相关内容