# 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
コメント