PostGISエラー:ライブラリ「/usr/lib/postgresql91/lib64/postgis-2.0.so」をロードできませんでした


9

OSはopenSUSE 12.1、PostgreSQL-9.1、PostGIS-2.0です。Postgre / PostGISはApplication:Geoリポジトリからインストールされます。

最近の更新後、データベースに接続しようとすると、次のエラーが発生します。

    ERROR:  could not load library "/usr/lib/postgresql91/lib64/postgis-2.0.so":
 /usr/lib/postgresql91/lib64/postgis-2.0.so: undefined symbol: pj_get_spheroid_defn

私はこのエラー(hint-1hint-2)をWebで検索しましたが、ld.so.config(またはldconfigコマンド)と関係があるようです。しかし、私は私の場合に何をしなければならないのか理解できません。


2
最新バージョンのproj(> = 4.8)が必要です。何をしてproj --versionおよび/またはldd `which proj`ショー?
マイクT

@MikeToews、私のプロジェクトのバージョンは4.7.1です。更新する必要があるようです。
SS_Rebelious

公式サイトからproj 4.8をインストールしました。しかし、それでもproj --verionを実行Rel. 4.7.1, 23 September 2009すると、> 4.8にアップグレードするにはどうすればよいですか。私はアイデアがありません:(私はUbuntu 12.4を使用しています。おかげでMo.
mmrs151

回答:


6

MikeToewsのおかげで、この問題を解決することができました。openSUSEのPostGIS 2.0はに依存してlibproj0おり、そのバージョンは4.8以上でなければなりません。どういうわけか、パッケージマネージャーから利用可能な新しいバージョンが通知されなかったため、libproj0[バージョン]タブでYastを使用して手動で新しいバージョンを確認しました。アップデート後はデータベースを正常に操作できます。


本当じゃない。
エヴァンキャロル

0

選択した答えが問題と関係があるとは思わない、

どうした

  1. Postgre / PostGISはApplication:Geoリポジトリからインストールされます。
  2. OSはopenSUSEです

所有していないバージョンのprojに対してビルドされた新しいバージョンのPostGISをインストールしました。プロジェクトはおそらくOpenSUSEによって提供されています。Application:Geoリポジトリからprojのバージョンをインストールするか、メインラインのOpenSUSEリポジトリからPostGIS のバージョンをインストールする必要があります。これは、依存関係とクライアントの不一致です。問題が解決しない場合は、SUSEにバグを報告してください。

PostGISが古いバージョンのprojで動作しないということではありません。これSUSEがPostGISを新しいバージョンに対してのみ構築しているため、必要なためです。

PostGISと古いプロジェクト

2年前提出されたバグレポートから

したがって、基本的にPostGISは古いProj4バージョンでも動作しますが、コンパイル時に知る必要があります。

すると、watsontaのバイナリはProj 4.8に対してビルドされたように見えますが、以前のバージョンに対して実行されていました。おそらくバイナリパッケージのバグか、その依存関係(proj-4.8 +は、パッケージャによってビルドされたバイナリ postgisの依存関係です)。

それが問題だと思います。インストールしたよりも新しいバージョンのprojに対してビルドしました。インストールをagianstでビルドしたバージョンにアップグレードすることは、問題を修正するための1つの方法にすぎません。

この関数がここ呼び出され、によって保護されていることがわかりifます。

#if POSTGIS_PROJ_VERSION >= 48

それが機能しない場合は、別の問題があります。それはだビルドシステムによって提供さ10歳のマクロ


-1

mmrs151。Ubuntu 13.04でprojバージョン4.7からproj 4.8にアップグレードするには 少なくとも、同じ問題を解決するのに役立ちました。

$ sudo apt-get upgrade libproj-dev


答えを少し詳しく説明していただけますか?OPの問題をどのように解決しますか?
マーティン、

2
この答えは役に立たない-openSUSEはaptを使用しません。
SS_Rebelious 14年

答えはmmrs151向けでした。
Amimo Benja 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.