PostGIS 2.0.0 install GEOS issue

两盒软妹~` 提交于 2019-12-14 01:39:51

问题


Trying to install PostGIS 2.0.0 on Ubuntu 11.10. I've basically followed the OSGeo instructions found here: http://trac.osgeo.org/postgis/wiki/UsersWikiPostGIS20Ubuntu1110src. I built GEOS 3.3.3. If I type geos-config --version into the terminal, I am returned 3.3.3.

I can run ./configure and make without issue. ./configure ends with:

 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 

All looks good, right? But here's the problem. When I run make test, the build fails with this at the end:

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

Inside /tmp/pgis_reg/regress_log is:

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

I've tried to ignore the issue and go forward, running sudo make install but when I get to setting up my db with psql -d infinitydb -f postgis.sql I get a similar problem:

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

I've looked around on the net, found one other person with the GEOSRelatePatternMatch problem but his was due to multiple GEOS installs. As far as I'm aware, I only have one. Any ideas?


回答1:


PostGIS is trying to load the symbols from a different geos library then the one it was compiled with. Search for geos on your system, remove them all and recompile.




回答2:


I think this is due to postgis thinking the libraries are in a different location on your server then what they actually are. I had this same error with packages I got from Ubuntu GIS. They were installed to /usr/lib, but for some reason postgis was looking for them in /usr/local/lib. Either way, I ran 'ldconfig' and ran the test again, and it worked just fine.




回答3:


I ran into that issue a while back when writing these instructions, and submitted a bug for it. I've tried fixing it, but gave up, therefore there is a known limitation for make test. (I'd be eager to figure out the problem with the test and re-open the ticket, there are any pointers out there. Probably something to do with the Makefile, as it is mixing the version of GEOS with GDAL.)

Despite the failure with make test, your install should work without this issue, so I'd continue on to the next steps and install.



来源:https://stackoverflow.com/questions/10543552/postgis-2-0-0-install-geos-issue

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!