PostGIS: Warnung bei configure, Fehler bei make

Hi ihrs,

hab mal wieder ein Problem:

Ich möchte auf meinem SuSE Linux System PostGIS 1.2.1 installieren. PostgreSQL, Proj4 und GEOS sind installiert.

Ich habe das PostGIS Archiv entpackt und die Datei “Makefile.config.in” wiefolgt geändert:

USE_PROJ=1
PROJ_DIR=/prg/proj
PROJ_LIBDIR=/prg/proj/lib

USE_GEOS=1
GEOS_DIR=/prg/geos
GEOS_LDFLAGS=$GEOS_LDFLAGS$

Wenn ich jetzt ./configure --prefix=/prg/postgis ausführe, passiert folgendes:
http://www.scrockau06.de/configure.txt

Bei make wird folgendes ausgegeben:
http://www.scrockau06.de/make.txt


Wo liegt denn der Fehler?

Die Datei geos.h ist vorhanden.


MfG
hotte

Hallo!

Steht das Postgis-Verzeichnis im richtigen Verzeichnis im PostgreSQl-Sourcepfad?
Welche Parameter übergibst du bei configure?
Stimmen die Pfade zu geos und proj4? Du kannst sie als Parameter explicit angeben. Das geos-rpm installiert z.B. unter /org/…
Sind die Versionen richtig? rpms sind gern auch mal älter.
Benutzt du die rpm-Installation von Postgres? Mit der hatte ich auch immer diffusen Ärger…
Ist dein /prg-Verzeichnis im Pfad eingebunden, so das es auch durchsucht wird?
Irgendwie scheint Configure geos und proj2 nicht zu finden. Bei mir kamen da Meldungen in der Zusammenfassung von configure WIMRE.

Das sind so die Dinge die mir auf Anhieb einfallen.
Und wenn du dich mit den Pfaden generell an die LSB-Vorgaben hälst, lebst du auch unter Suse glücklicher :wink:

Gruß Uwe

Hi Gisman!

PostGIS soll ja eigentlich nach [postgresql-Pfad]/contrib (bei mir: /prg/pgsql/) entpackt werden.
Allerdings existiert ein solches Verzeichnis bei mir nicht.

Die Pfade zu GEOS und Proj4 stimmen. Mit RPM Paketen arbeite ich überhaupt nicht.

Ich versteh halt auch nicht, warum Configure weder Proj noch GEOS findet. Die Pfade sind 100% korrekt.

Sicherlich ist es einfacher Configure ohne prefix zu verwenden, aber ich will halt wissen, wo was hingeschrieben wird und nicht erst ewig suchen zu müssen.

Ich schreib dir mal, wie ich alles installiert habe:

  1. Installation von PostgreSQL:
  • LDFLAGS=-lstdc++ ./configure --prefix=/[Installationspfad]
  • gmake
  • gmake install
  • Shared Libraries einrichten:
    LD_LIBRARY_PATH=/[Installationspfad]/lib
    export LD_LIBRARY_PATH
  • Benutzer anlegen, unter dem der Serverprozess laufen soll:
    useradd admin
  • Datenverzeichnis für diesen Benutzer anlegen:
    mkdir /prg/pgsql/data
  • admin als Eigentümer für diesen Ordner setzen:
    chown admin /prg/pgsqldata
  • Systemumgebung anpassen:
    Die Datei /etc/profile zum Editieren geöffnet und folgende Einträge gesetzt:
    PATH=/prg/pgsql/bin:$PATH
    export PATH
    MANPATH=/prg/pgsql/man:$MANPATH
    export MANPATH
    PGDATA=/prg/pgsql/data
    export PGDATA
  • Zum Benutzer admin gewechselt und Datenbank initialisiert:
    su geosadmin
    cd /prg/pgsql/bin
    initdb --locale=C -D $PGDATA
  1. GEOS Installation
  • ./configure --prefix=/prg/geos
  • make
  • make install
  • /etc/ld.so.conf öffnen und folgendes hinzufügen:
    /usr/local/lib
    /prg/geos/lib
    /prg/proj/lib
    /sbin/ldconfig ausführen
  1. PROJ4 Installation
  • ./configure --prefix=/prg/proj
  • make
  • make install


    Vielleicht steckt der Fehler ja irgendwo in den vorrangegangenen Kompilierungen.


    MfG hotte

Hoi!
Hast du PostGIS den Sourcetree (nicht in den Binär-Tree) von Postgres entpackt? Dort sollte auch das Contrib-Verzeichnis zu finden sein. Dieses sollte immer dabei sein, weil es einige essentielle Postgresql-Tools enthält. Du musst auch vor dem Compilieren von PostGIS das Postgresql-makefile erzeugt haben WIMRE, sonst gehts nicht.

Und wie gesagt, prüfe mal ob dein die Geos- und Proj-lib auch gefunden werden. Derartiges installiere ich immer unter /usr/local/[lib|bin], dann muß ich mir eben darüber keine Gedanken machen.

Und die am Ende entstandenen sql-Files auch aus dem PostGIS-Source-Verzeichnis aufrufen oder in den Files die Pfade anpassen. War jedenfalls bei mir so :wink:

Gruß Uwe

Hi Gisman!

Mal ne ganz dumme Frage:
Wie kann ich denn überprüfen, ob die Geos und Proj Libs auch gefunden werden?

Ich hatte natürlich PostGIS nicht in den source code tree von PostgreSQL kopiert, sondern in den binär tree.

Wie muss ich denn nun genau vorgehen. Ich entpacke also das PostGIS Archiv in das contrib Verzeichnis von PostgreSQL? Und dann? Was muss ich von beidem zuerst kompilieren?

Danke für deine Hilfe :wink:

MfG
hotte

Hoi!
Also du entpackst erst die postgresql-sourcen und führst das configure-Skript aus. Hier solltest du zur Sicherheit die bestehenden Pfade und die gleiche Version verwenden.
Dann entpackst du das PostGIS-Paket im contrib-verzeichnis, wechselst in das postgis-x.x-Verzeichnis unter contrib und gehst einfach nach dem Readme vor.
Hilfreich waren bei mir die einzelnen Optionen von Hand zu setzen, da ich u.U. verschiedene Versionen von einigen libs benutze.
Danach sollten in dem Verzeichnis zwei .sql-Dateien zu finden sein. Diese führst du in einer als PostGIS-Template vorgesehenen Datenbank aus.
Wichtig war bei mir hier, die Dateien am Ort ihrer Entstehung zu lassen, ansonsten tauchten Probleme auf (warum auch immer :confused: ). Falls das nicht geht, hilft ein ldconfig meist weiter.

Das sind so meine Erfahrungen mit PostGIS-Installieren, steht aber auch alles recht gut in der Doku und auf der Homepage.

Die libs kannst du testen, in dem zu zum Beispiel von irgendwo geos-config aufrufen kannst. Dann sollte sie auch gefunden werden. Andernfalls solltest du den Pfad einbinden oder die libs im regulären Pfad unterbringen. Und lies nochmal nach, wo proj4 noch Sachen unterbringen will. Das legt unter /usr/share… irgendwo auch noch was an.

Gruß Uwe



Gruß Uwe

Moin moin!

Also geos-config kann ich nicht von “irgendwo” ausführen.

Ich hab die Libs in die /etc/ld.so.conf eingetragen und ldconfig ausgeführt. Ich bin noch totaler Anfänger auf dem Linux-Gebiet. Wo werden denn standardmäßig die Libs eingetragen?


MfG
hotte

Hallo!
Vermutlich ist dein /prg-Verzeichnis dann nicht im Pfad eingebunden, so das beim Aufruf die Sachen nicht gefunden werden. Für die Linux-Grundlagen empfehle ich dir mal den Kofler (Michael Kofler, ‘Linux’) als Nachschlagewerk. Dort stehen die essentiellen Dinge alle drin, eine kostenlose ältere Ausgabe gibts irgendwo als pdf zum Download.

Gruß UWe

http://www.kofler.cc/linux7.html

Ich hab grad mal GEOS und PROJ4 mit den Standard-Einstellungen kompilieren lassen und siehe da: es funktioniert. Postgis ließ sich ohne Probleme kompilieren. Die Doku von Herrn Kofler werd ich mir unbedingt mal durchlesen.

Dank dir erstma soweit.