3

PostGIS 2.0.0 を Ubuntu 11.10 にインストールしようとしています。基本的に、ここにある OSGeo の指示に従いました: http://trac.osgeo.org/postgis/wiki/UsersWikiPostGIS20Ubuntu1110src。GEOS 3.3.3 をビルドしました。端末に入力geos-config --versionすると、返され3.3.3ます。

./configure問題なく走れますmake./configureで終わる:

 PostGIS is now configured for x86_64-unknown-linux-gnu 

-------------- Compiler Info -------------  
 C compiler:           gcc -g -O2 
 C++ compiler:         g++ -g -O2 

-------------- Dependencies --------------  
 GEOS config:          /usr/local/bin/geos-config 
 GEOS version:         3.3.3 
 GDAL config:          /usr/local/bin/gdal-config 
 GDAL version:         1.9.0 
 PostgreSQL config:    /usr/bin/pg_config 
 PostgreSQL version:   PostgreSQL 9.1.3 
 PROJ4 version:        47 
 Libxml2 config:       /usr/bin/xml2-config 
 Libxml2 version:      2.7.8 
 JSON-C support:       no 
 PostGIS debug level:  0 
 Perl:                 /usr/bin/perl 

--------------- Extensions ---------------  
 PostGIS Raster:       enabled 
 PostGIS Topology:     enabled 

-------- Documentation Generation --------  
 xsltproc:             /usr/bin/xsltproc 
 xsl style sheets:      
 dblatex:               
 convert:               
 mathml2.dtd:          http://www.w3.org/Math/DTD/mathml2/mathml2.dtd 

すべてがよさそうですよね?しかし、ここに問題があります。を実行するmake testと、ビルドは最後に次のように失敗します。

Creating spatial db postgis_reg
createlang: language "plpgsql" is already installed in database "postgis_reg"
Preparing spatial db postgis_reg

 Something went wrong during db initialization (core module).
 For details, check /tmp/pgis_reg/regress_log

make[1]: *** [check] Error 1
make[1]: Leaving directory `/home/anthony/Downloads/postgis-2.0.0/regress'
make: *** [check] Error 1

内部/tmp/pgis_reg/regress_logは次のとおりです。

SET
BEGIN
psql:/home/anthony/Downloads/postgis-2.0.0/regress/00-regress-install/share/contrib/postgis/postgis.sql:69: ERROR:  could not load library "/home/anthony/Downloads/postgis-2.0.0/regress/00-regress-install/lib/postgis-2.0.so": /home/anthony/Downloads/postgis-2.0.0/regress/00-regress-install/lib/postgis-2.0.so: undefined symbol: GEOSRelatePatternMatch

問題を無視して実行しようとしましたsudo make installが、データベースをセットアップしようとするpsql -d infinitydb -f postgis.sqlと、同様の問題が発生します。

SET
BEGIN
psql:postgis.sql:69: ERROR:  could not load library "/usr/lib/postgresql/9.1/lib/postgis-2.0.so": /usr/lib/postgresql/9.1/lib/postgis-2.0.so: undefined symbol: GEOSRelatePatternMatch

私はネットを見回して、GEOSRelatePatternMatch問題を抱えている別の人を見つけましたが、彼は複数のGEOSのインストールが原因でした。私の知る限り、私は1つしか持っていません。何か案は?

4

3 に答える 3

5

これは、ライブラリがサーバー上の実際の場所とは異なる場所にあるとpostgisが考えているためだと思います。UbuntuGISから入手したパッケージでも同じエラーが発生しました。それらは/usr/ libにインストールされましたが、何らかの理由でpostgisは/ usr / local/libでそれらを探していました。いずれにせよ、「ldconfig」を実行してテストを再度実行したところ、問題なく動作しました。

于 2012-07-10T17:48:36.037 に答える
4

PostGIS は、コンパイルされたものとは異なる geos ライブラリからシンボルを読み込もうとしています。システムでgeoを検索し、それらをすべて削除して再コンパイルします。

于 2012-05-22T11:52:28.187 に答える
0

しばらく前にこれらの手順を書いているときにその問題に遭遇し、バグを提出しました。私はそれを修正しようとしましたが、あきらめました。したがって、 には既知の制限がありmake testます。(テストで問題を解決し、チケットを再度開きたいと思っています。そこには何かヒントがあります。GEOS のバージョンと GDAL が混在しているため、おそらく Makefile と関係があります。)

で失敗しましたmake testが、インストールはこの問題なしで機能するはずなので、次の手順に進んでインストールします。

于 2012-05-13T08:17:41.113 に答える