libgdal26 と libgdal20 の非互換性がある Ubuntu 18.04 に Postgis をインストールしますか?

libgdal26 と libgdal20 の非互換性がある Ubuntu 18.04 に Postgis をインストールしますか?

私は数日間この問題を調べてきましたが、まだ解決策は見つかっていません。

Ubuntu 18.04 マシンに Postgresql-13-postgis-3 をインストールしようとしています。現在、Postgresql 13 と libgdal26 (GDAL 3.0.4) がインストールされています。libgdal26 は QGIS インストール (3.10) と互換性があります。Postgis をインストールしようとすると、次のエラーが表示されます。

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies.
 postgis : Depends: libgdal20 (>= 2.0.1) but it is not going to be installed
 postgresql-13-postgis-3 : Depends: libgdal20 (>= 2.0.1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

そこでlibgdal20をインストールしようとしましたが、qgisやlibgdal26を含む多くのパッケージを削除するように求められました(qgisとpostgisの両方を使用する必要があるため、qgisなどを削除することは選択肢にありません)。gdal 3.xを使用してpostgisをインストールする方法はありますか?ドキュメントによるとそうであるようですが、私のシステムでは許可されません。他のユーザーも同様の問題を抱えているようです(gdal を 3.0.4 にアップグレードした後、ubuntu 18.04 に postgis をインストールする) ですが、解決策は投稿されていませんでした (この投稿で直接質問しようとしましたが、質問は削除されました)。

その間、私は Windows マシンを使用して作業を続けることができました。すべてを 1 回でインストールして作業できました。Ubuntu の GIS ソフトウェア (特に qGIS と GDAl) は、これまで依存関係が満たされず、多くの問題を引き起こしてきました... OS の切り替えも考えさせられました! 残念です...

どのような助けでも大歓迎です!

答え1

ここでは依存関係の競合があります。 1 つの解決策は、メンテナーが依存関係を更新するまで待つことです (または、Ubuntu の新しい 20.04 LTS にアップグレードします)。

もう 1 つの解決策は、PostGIS をソースからコンパイルすることです。これはそれほど複雑ではありません。最新バージョンの PostGIS を例にすると、次のようになります。

wget https://download.osgeo.org/postgis/source/postgis-3.1.2.tar.gz
tar xf postgis-3.1.2.tar.gz
cd postgis-3.1.2
./configure
make && sudo make uninstall && sudo make install

その後、サーバーを再起動します。

答え2

私も同様の問題を抱えていました。OS を更新せずに、次のことを行う必要がありました。

  1. ディストリビューションを削除しcmake、最新の 3.21.3 をインストールします。

  2. 5.3をコンパイル/インストールしますCGAL

  3. 1.4をコンパイル/インストールしますSFCGAL(cmakeこれをコンパイルするには最新のものが必要でした)。

  4. GEOS3.8.2 にコンパイル/アップデートします。

  5. 次のライブラリをインストールします。

    sudo apt install protobuf-c-compiler libjsoncpp-dev libprotobuf-dev libprotobuf-c-dev libxml2-dev
    

    これは依存関係の完全なリストではありませんが、かなり良いスタートになります。

関連情報