在 ubuntu 12.04 中,我将地理空间库的源代码 gdal-1.11.0 下载到 ~/src 中,配置并成功编译,看起来。新文件,例如libgdal.a
got 放入 /usr/local/lib。
但是,当我运行依赖于它的程序时,
$ ogrinfo --formats
Run Code Online (Sandbox Code Playgroud)
我得到
ERROR 1: ogrinfo was compiled against GDAL 1.11 but current library version is 1.10
Run Code Online (Sandbox Code Playgroud)
看来我还没有删除旧版本的 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
Run Code Online (Sandbox Code Playgroud)
libgdal.a
只有在ogrinfo
不使用共享库的情况下链接文件时才会使用该文件。如果ogrinfo
以这种方式链接(不使用共享库),则不会出现错误,因为库(1.11 版)将是可执行文件的一部分。
你应该尝试的是运行
sudo ldconfig
Run Code Online (Sandbox Code Playgroud)
编译安装新版本后gdal
,应该通知系统(其中1.10版本已作为共享库加载),新版本可用。
看来我还没有删除旧版本的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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1972 次 |
最近记录: |