PostGISインストール時にエラー「postgis-2.0.so"をロードできませんでした」

 
# psql -d gis -f /usr/pgsql-9.3/share/contrib/postgis-2.0/postgis.sql -U postgres
を実行すると以下のエラー
psql:postgis.sql:47: ERROR: ライブラリ"/usr/pgsql-9.3/lib/postgis-2.0.so"をロードできませんでした: libgeos_c.so.1: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません
psql:postgis.sql:52: ERROR: 現在のトランザクションがアボートしました。トランザクションブロックが終わるまでコマンドは無視されます
psql:postgis.sql:59: ERROR: 現在のトランザクションがアボートしました。トランザクションブロックが終わるまでコマンドは無視されます

原因は「libgeos_c.so.1」へパスが通っていない事のようで。
以下を追加

vi /etc/ld.so.conf.d/geos.conf
以下の1行を記入
/usr/local/lib

反映させる為に以下を実行

# /sbin/ldconfig

再度SQLを実行

# psql -d gis -f /usr/pgsql-9.3/share/contrib/postgis-2.0/postgis.sql -U postgres

新しいエラーが発生。

psql:/usr/pgsql-9.3/share/contrib/postgis-2.0/postgis.sql:47: ERROR:  ライブラリ"/usr/pgsql-9.3/lib/postgis-2.0.so"をロードできませんでした: /usr/pgsql-9.3/lib/postgis-2.0.so: undefined symbol: GETSTRUCT

ここを参考に以下の手順で再度make→make install

vi /postgis-2.0.3/postgis/geometry_estimate.c

28行目へ以下を追加

//add
#if POSTGIS_PGSQL_VERSION >= 93
 #include "access/htup_details.h"
#endif
make
make install

コメント

タイトルとURLをコピーしました