新しいライブラリが追加され、古いライブラリが動き回っています。

新しいライブラリが追加され、古いライブラリが動き回っています。

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 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

関連情報