postgis-2.0.so: undefiniertes Symbol: GETSTRUCT
Wenn ich pg_upgrade benutze, überprüfe das Upgrade von PostGresql 9.0 Beta2 auf PostGresql 9.3 Beta1. Fehler treten unten auf:
uptest@db-172-16-3-33-> cat loadable_libraries.txt
Could not load library "$libdir/postgis-2.0"
ERROR: could not load library "/opt/pgsql9.3beta1/lib/postgis-2.0.so": /opt/pgsql9.3beta1/lib/postgis-2.0.so: undefined symbol: GETSTRUCT
detaillierte Vorgehensweise:
install 9.3initdb 9.3installiere es so (pgfincore, pg_stat_statements, postgis, installiere kein Schema sql)prüfenMeineLD_LIBRARY_PATH
ist:
LD_LIBRARY_PATH=/opt/pgsql9.3beta1/lib:/opt/postgis-2.0.3-for9.3/lib:/opt/gdal-1.10.0/lib:/opt/geos-3.3.8/lib:/opt/json-c-git20130520/lib:/opt/proj-4.8.0/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib /opt/pgsql9.3beta1/bin/pg_upgrade -c -b /opt/pgsql9.0beta2/bin -B /opt/pgsql9.3beta1/bin -d /pgdata1099 -D /pgdata2099 -p 1099 -P 2099 -u postgres -v
UND dann der Fehler:
Checking for presence of required libraries fatal
Your installation references loadable libraries that are missing from the
new installation. You can add these libraries to the new installation,
or remove the functions using them from the old installation. A list of
problem libraries is in the file:
loadable_libraries.txt
Failure, exiting
AUFGELÖST:
Dies ist ein Postgis-Fehler für Postgresql 9.3. und löste es.
Vielen Dank.
http://trac.osgeo.org/postgis/changeset/10321
vi /opt/soft_bak/postgis-2.0.3/postgis/geometry_estimate.c
//add
#if POSTGIS_PGSQL_VERSION >= 93
#include "access/htup_details.h"
#endif
und danngmake
, gmake install
do pg_upgrade ist jetzt bestanden.