Problem beim Kompilieren von Postgis 2.0

Hallo,

ich möchte das neue Postgis komplieren, habe aber Probleme mit gdal.

Betriebssystem ist Solaris 10, vorhanden sind postgresql-9.1.3, gdal-1.9.0 und geos-3.3.3

Das configure bricht ab mit der Meldung:

checking for json_object_get in -ljson… no
TOPOLOGY: Topology support requested
RASTER: Raster support requested
checking for gdal-config… /usr/local/bin/gdal-config
checking for GDAL >= 1.6.0… found
checking gdal.h usability… yes
checking gdal.h presence… yes
checking for gdal.h… yes
checking ogr_api.h usability… yes
checking ogr_api.h presence… yes
checking for ogr_api.h… yes
checking cpl_conv.h usability… yes
checking cpl_conv.h presence… yes
checking for cpl_conv.h… yes
checking for library containing GDALAllRegister… no
configure: error: could not find gdal
Das gdal-config wurde doch noch richtig gefunden, wo ist das Problem??

Kannst du mal in die Datei “config.log” schauen, was der genaue Fehler war?

ich hätte gerne die ganze config-log angehangen, aber die ist zu groß. Daher hier die letzten zeilen:

\

-----------------

Output variables.

-----------------

ANT=’/usr/sfw/bin/ant’
AR=‘ar’
AWK=‘nawk’
CC=‘gcc’
CFLAGS=’’
CPP=‘gcc -E’
CPPFLAGS=’-I/usr/local/include’
CUNIT_CPPFLAGS=’’
CUNIT_LDFLAGS=’’
CXX=‘g++’
CXXCPP=‘g++ -E’
CXXFLAGS=’-g -O2’
DBLATEX=’’
DEFS=’’
DLLTOOL=‘false’
DSYMUTIL=’’
DUMPBIN=’’
ECHO_C=’’
ECHO_N=’-n’
ECHO_T=’’
EGREP=’/usr/sfw/bin/ggrep -E’
EXEEXT=’’
EXESUFFIX=’’
EXTENSIONS=’’
FGREP=’/usr/sfw/bin/ggrep -F’
GDALFPOLYGONIZE=’’
GDAL_CONFIG=’/usr/local/bin/gdal-config’
GEOSCONFIG=’/usr/local/bin/geos-config’
GEOS_CPPFLAGS=’-I/usr/local/include’
GEOS_LDFLAGS=’-L/usr/local/lib’
GETTEXT_CFLAGS=’’
GETTEXT_LDFLAGS=’’
GETTEXT_MACRO_VERSION=‘0.17’
GMSGFMT=’:’
GMSGFMT_015=’:’
GREP=’/usr/sfw/bin/ggrep’
GTK_BUILD=’’
GTK_CFLAGS=’’
GTK_LIBS=’’
GTK_WIN32_FLAGS=’’
GTK_WIN32_RES=’’
HAVE_JSON=‘no’
ICONV_CFLAGS=’’
ICONV_LDFLAGS=’ -lc’
IGE_MAC_CFLAGS=’’
IGE_MAC_LIBS=’’
IMAGEMAGICK=’/usr/sfw/bin/convert’
INSTALL_DATA=’${INSTALL} -m 644’
INSTALL_PROGRAM=’${INSTALL}’
INSTALL_SCRIPT=’${INSTALL}’
INTLLIBS=’’
INTL_MACOSX_LIBS=’’
JSON_CPPFLAGS=’’
JSON_LDFLAGS=’’
LD=’/usr/ccs/bin/ld’
LDFLAGS=’’
LEX=‘flex’
LEXLIB=’-lfl’
LEX_OUTPUT_ROOT=‘lex.yy’
LIBGDAL_CFLAGS=’-I/usr/local/include’
LIBGDAL_LDFLAGS=’-L/usr/local/lib -lgdal’
LIBICONV=’’
LIBINTL=’’
LIBOBJS=’’
LIBS=’-L/usr/local/lib -lgdal’
LIBTOOL=’$(SHELL) $(top_builddir)/libtool’
LIPO=’’
LN_S=‘ln -s’
LTLIBICONV=’’
LTLIBINTL=’’
LTLIBOBJS=’’
MANIFEST_TOOL=’:’
MATHML2_DTD=‘http://www.w3.org/Math/DTD/mathml2/mathml2.dtd
MINGWBUILD=‘0’
MKDIR_P=’./install-sh -c -d’
MSGFMT=’:’
MSGFMT_015=’:’
MSGMERGE=’:’
NM=’/usr/ccs/bin/nm -p’
NMEDIT=’’
NUMERICFLAGS=’ -ffloat-store’
OBJDUMP=‘false’
OBJEXT=‘o’
OTOOL64=’’
OTOOL=’’
PACKAGE_BUGREPORT=’’
PACKAGE_NAME=’’
PACKAGE_STRING=’’
PACKAGE_TARNAME=’’
PACKAGE_URL=’’
PACKAGE_VERSION=’’
PATH_SEPARATOR=’:’
PERL=’/usr/bin/perl’
PGCONFIG=’/opt/postgresql/9.1.2.20/bin/pg_config’
PGSQL_BE_CPPFLAGS=’-I/opt/postgresql/9.1.2.20/include/server’
PGSQL_BINDIR=’/opt/postgresql/9.1.2.20/bin’
PGSQL_DOCDIR=’/opt/postgresql/9.1.2.20/share/doc’
PGSQL_FE_CPPFLAGS=’-I/opt/postgresql/9.1.2.20/include’
PGSQL_FE_LDFLAGS=’-L/opt/postgresql/9.1.2.20/lib -lpq’
PGSQL_MANDIR=’/opt/postgresql/9.1.2.20/share/man’
PGSQL_SHAREDIR=’/opt/postgresql/9.1.2.20/share’
PGXS=’/opt/postgresql/9.1.2.20/lib/pgxs/src/makefiles/pgxs.mk’
PGXSOVERRIDE=‘0’
PICFLAGS=’ -fPIC -DPIC’
PKG_CONFIG=’’
POSTGIS_BUILD_DATE=‘2012-04-18 07:40:24’
POSTGIS_GDAL_VERSION=‘19’
POSTGIS_GEOS_VERSION=‘33’
POSTGIS_LIBXML2_VERSION=‘2.6.23’
POSTGIS_LIB_VERSION=‘2.0.0’
POSTGIS_MAJOR_VERSION=‘2’
POSTGIS_MICRO_VERSION=‘0’
POSTGIS_MINOR_VERSION=‘0’
POSTGIS_PGSQL_VERSION=‘91’
POSTGIS_PROJ_VERSION=‘48’
POSTGIS_RASTER_BUILD_DATE=‘2012-04-18 07:40:24’
POSTGIS_RASTER_LIB_VERSION=‘0.1.6d’
POSTGIS_RASTER_MAJOR_VERSION=‘0’
POSTGIS_RASTER_MICRO_VERSION=‘6d’
POSTGIS_RASTER_MINOR_VERSION=‘1’
POSTGIS_RASTER_SCRIPTS_VERSION=‘0.1.6d’
POSTGIS_RASTER_VERSION=‘0.1’
POSTGIS_SCRIPTS_VERSION=‘2.0.0’
POSTGIS_VERSION=‘2.0 USE_GEOS=1 USE_PROJ=1 USE_STATS=1’
POSUB=’’
PROJ_CPPFLAGS=’’
PROJ_LDFLAGS=’’
RANLIB=‘ranlib’
RASTER=‘raster’
RT_CORE_LIB=’’
RT_LOADER=’’
RT_PG_LIB=’’
RT_POSTGIS_SQL=’’
SED=’/usr/bin/sed’
SET_MAKE=’’
SHELL=’/bin/bash’
SHLIB_LINK=’ -L/usr/local/lib -lgeos_c -lproj -L/usr/lib -R/usr/lib -lxml2 -lz -lpthread -lm -lsocket -lnsl’
SRID_MAX=‘999999’
SRID_USR_MAX=‘998999’
STRIP=‘strip’
TOPOLOGY=‘topology’
USE_NLS=‘no’
WARNFLAGS=’ -Wall -Wmissing-prototypes’
XGETTEXT=’:’
XGETTEXT_015=’:’
XGETTEXT_EXTRA_OPTIONS=’’
XML2CONFIG=’/usr/bin/xml2-config’
XMLLINT=’/usr/bin/xmllint’
XSLBASE=’/usr/share/sgml/docbook/xsl-stylesheets’
XSLTPROC=’/usr/bin/xsltproc’
YACC=‘bison -y’
YFLAGS=’’
ac_ct_AR=‘ar’
ac_ct_CC=‘gcc’
ac_ct_CXX=‘g++’
ac_ct_DUMPBIN=’’
bindir=’${exec_prefix}/bin’
build=‘i386-pc-solaris2.10’
build_alias=’’
build_cpu=‘i386’
build_os=‘solaris2.10’
build_vendor=‘pc’
datadir=’${datarootdir}’
datarootdir=’${prefix}/share’
docdir=’${datarootdir}/doc/${PACKAGE}’
dvidir=’${docdir}’
exec_prefix=‘NONE’
host=‘i386-pc-solaris2.10’
host_alias=’’
host_cpu=‘i386’
host_os=‘solaris2.10’
host_vendor=‘pc’
htmldir=’${docdir}’
includedir=’${prefix}/include’
infodir=’${datarootdir}/info’
libdir=’${exec_prefix}/lib’
libexecdir=’${exec_prefix}/libexec’
localedir=’${datarootdir}/locale’
localstatedir=’${prefix}/var’
mandir=’${datarootdir}/man’
mkdir_p=’$(top_builddir)/./install-sh -c -d’
oldincludedir=’/usr/include’
pdfdir=’${docdir}’
prefix=‘NONE’
program_transform_name=‘s,x,x,’
psdir=’${docdir}’
sbindir=’${exec_prefix}/sbin’
sharedstatedir=’${prefix}/com’
sysconfdir=’${prefix}/etc’
target_alias=’’

-----------

confdefs.h.

-----------

/* confdefs.h */
#define PACKAGE_NAME “”
#define PACKAGE_TARNAME “”
#define PACKAGE_VERSION “”
#define PACKAGE_STRING “”
#define PACKAGE_BUGREPORT “”
#define PACKAGE_URL “”
#define STDC_HEADERS 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_MEMORY_H 1
#define HAVE_STRINGS_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H 1
#define HAVE_UNISTD_H 1
#define HAVE_DLFCN_H 1
#define LT_OBJDIR “.libs/”
#define POSTGIS_MAJOR_VERSION “2”
#define POSTGIS_MINOR_VERSION “0”
#define POSTGIS_MICRO_VERSION “0”
#define YYTEXT_POINTER 1
#define HAVE_IEEEFP_H 1
#define HAVE_TERMIOS_H 1
#define HAVE_VASPRINTF 1
#define HAVE_ASPRINTF 1
#define HAVE_FSEEKO 1
#define HAVE_ICONV 1
#define PGSQL_LOCALEDIR “/opt/postgresql/9.1.2.20/share/locale”
#define HAVE_LIBPQ 1
#define POSTGIS_PGSQL_VERSION 91
#define HAVE_LIBXML_TREE_H 1
#define HAVE_LIBXML_PARSER_H 1
#define HAVE_LIBXML_XPATH_H 1
#define HAVE_LIBXML_XPATHINTERNALS_H 1
#define HAVE_LIBXML2 1
#define POSTGIS_LIBXML2_VERSION “2.6.23”
#define HAVE_LIBGEOS_C 1
#define POSTGIS_GEOS_VERSION 33
#define HAVE_ICONV 1
#define POSTGIS_PROJ_VERSION 48
#define HAVE_LIBPROJ 1
#define POSTGIS_DEBUG_LEVEL 0
#define POSTGIS_PROFILE 0
#define POSTGIS_VERSION “2.0 USE_GEOS=1 USE_PROJ=1 USE_STATS=1”
#define POSTGIS_LIB_VERSION “2.0.0”
#define POSTGIS_BUILD_DATE “2012-04-18 07:40:24”
#define POSTGIS_SCRIPTS_VERSION “2.0.0”
#define POSTGIS_AUTOCACHE_BBOX 1
#define POSTGIS_USE_STATS 1
#define POSTGIS_RASTER_MAJOR_VERSION “0”
#define POSTGIS_RASTER_MINOR_VERSION “1”
#define POSTGIS_RASTER_MICRO_VERSION “6d”
#define POSTGIS_RASTER_VERSION “0.1”
#define POSTGIS_RASTER_LIB_VERSION “0.1.6d”
#define POSTGIS_RASTER_BUILD_DATE “2012-04-18 07:40:24”
#define POSTGIS_RASTER_SCRIPTS_VERSION “0.1.6d”
#define POSTGIS_RASTER_WARN_ON_TRUNCATION 0
#define POSTGIS_GDAL_VERSION 19
#define HAVE_GDAL_H 1
#define HAVE_OGR_API_H 1
#define HAVE_CPL_CONV_H 1
configure: exit 1

Schuss ins blaue. gdal-devel ist auch installiert? configure brauchst du ja zum übersetzen und der setzt ja in der Regel auf devel Pakete auf…

cu tb.

Wenn du in “config.log” noch ein Stück zurück scrollst, dann siehst du die Fehlermeldung.
Danach kommen noch Hunderte Zeilen mit Debug Ausgaben, davon hast du die letzten gepostet.

ich hoffe, diesmal ist es der richtge Teil

configure:19417: result: TOPOLOGY: Topology support requested
configure:19445: result: RASTER: Raster support requested
configure:19534: checking for gdal-config
configure:19552: found /usr/local/bin/gdal-config
configure:19564: result: /usr/local/bin/gdal-config
configure:19576: checking for GDAL >= 1.6.0
configure:19593: result: found
configure:19616: checking gdal.h usability
configure:19616: gcc -c -I/usr/local/include conftest.c >&5
configure:19616: $? = 0
configure:19616: result: yes
configure:19616: checking gdal.h presence
configure:19616: gcc -E -I/usr/local/include conftest.c
configure:19616: $? = 0
configure:19616: result: yes
configure:19616: checking for gdal.h
configure:19616: result: yes
configure:19616: checking ogr_api.h usability
configure:19616: gcc -c -I/usr/local/include conftest.c >&5
configure:19616: $? = 0
configure:19616: result: yes
configure:19616: checking ogr_api.h presence
configure:19616: gcc -E -I/usr/local/include conftest.c
configure:19616: $? = 0
configure:19616: result: yes
configure:19616: checking for ogr_api.h
configure:19616: result: yes
configure:19616: checking cpl_conv.h usability
configure:19616: gcc -c -I/usr/local/include conftest.c >&5
configure:19616: $? = 0
configure:19616: result: yes
configure:19616: checking cpl_conv.h presence
configure:19616: gcc -E -I/usr/local/include conftest.c
configure:19616: $? = 0
configure:19616: result: yes
configure:19616: checking for cpl_conv.h
configure:19616: result: yes
configure:19629: checking for library containing GDALAllRegister
configure:19660: gcc -o conftest -I/usr/local/include conftest.c -L/usr/local/lib -lgdal >&5
ld: warning: file libpq.so.5: required by /usr/local/lib/libgdal.so, not found

Ja, und da steht doch auch dein Fehler…

cu tb

für mich sieht das jetzt so aus, als ob die postgres-lib nicht gefunden würde… liegt das jetzt an meiner gdal-installation oder am configure von postgis?? Ich versteh es noch nicht.

Wie kommst du auf die postgres-lib??? Er findet die libgal.so nicht. Warum? Weil diese nicht in /usr/local/lib liegt. Ich kenne Solaris nicht aber es gibt sicher einen ./configure Parameter um den Pfad für libgal anzupassen und auf den richtigen Pfad umzulegen. So wie man das halt eigentlich immer bei configure macht…

cu tb.

die libgdal liegt aber genau da:

#ls -l /usr/local/lib/libgdal*
-rw-r–r-- 1 root root 54697864 Apr 17 16:31 /usr/local/lib/libgdal.a
-rwxr-xr-x 1 root root 1129 Apr 17 16:31 /usr/local/lib/libgdal.la
lrwxrwxrwx 1 root root 17 Apr 17 16:31 /usr/local/lib/libgdal.so -> libgdal.so.1.16.0
lrwxrwxrwx 1 root root 17 Apr 17 16:31 /usr/local/lib/libgdal.so.1 -> libgdal.so.1.16.0
-rwxr-xr-x 1 root root 31226224 Apr 17 16:31 /usr/local/lib/libgdal.so.1.16.0

Achja, ich sollte halt auch die Meldung richtig lesen… Die libpq.so.5 findet er nicht und diese wird von der libgdal benötigt. Wer lesen kann ist klar im Vorteil. :wink:

Such mal nach der Datei. Sorry mein Fehler - man sollte halt nicht zig Sachen auf einmal machen… :-/

cu tb.

Gibt es das File oder den Symlink libpq.so.5 an einem Ort der zu finden ist? Ich geh mal davon aus, daß du die libs selbst kompiliert hast, wenn nein, schau ob du die Header-Pakete installiert hast.
Hast du nach dem Kompilieren ein explizites ldconfig auf das verzeichnis der libs durchgeführt um die auch einzubinden? Ich hoff mal, das gibt unter Solaris auch, jedenfalls unter Linux hilft das oft in diesem Falle :wink:

Gruß Uwe

ich habe den PATG so gesetzt, dass das aktuelle Postgres gefunden wird… rechts das?? Den Befehl ldconfig kenn ich nicht, gibt es den unter Solaris?

Hm, scheinbar reicht das nicht wie du ja am Ergebnis siehst. :wink: Wo liegt den die .so Datei wenn du nach dieser suchst?

cu tb.

ldconfig aktualisiert und ergänzt die libs, die dem Linker zur Verfügung stehen. Irgendwas in der Art gibts sicher unter Solaris. Hast du ldconfig mal ausprobiert, dann sollte irgendwas passieren, meist eine Fehlermeldung wegen fehlender Rechte :wink:

Gruß Uwe

Ich habe den Fehler behoben. Der Postgres-lib Pfad muß vor dem configure im LD_LIBRARY_PATH gesetzt werden. Dies hab ich jetzt beim Kompilieren von gdal und postgis gemacht, und es klappt.

Danke nochmals für die schnellen Antworten!

Da mich das wie und warum jetzt interessiert hat:
Einige Hinweise für die Nachwelt zu LD_LIBRARY_PATH und ldconfig stehen hier in diesem Thread:

Re: LD_LIBRARY_PATH funktioniert, ld.so.conf/ldconfig nicht

Gruß Uwe

Hallo mkuis. Kannst du bitte schreiben, was du genau an der Kommandozeile eingegeben hast, damit das .configure Skript nicht mehr die Fehlermeldung “checking for library containing GDALAllRegister… no” ausspuckt. Danke, aussenboarder