[Talk-de] osm2pgsql

Werner König werner-koenig at t-online.de
Fr Jun 5 22:49:57 UTC 2009


Hallo Sven,

danke für die Hilfe, nur durch Deine Kommentare bin ich dahinter gekommen,
was passiert sein muss. Sehr wahrscheinlich ist folgendes passiert:

Habe schon vorher ein openSUSE 11.1 installiert. In dieser Installation
wurde osm2pgsql schon mal kompiliert, wahrscheinlich mit der
libgeos-3.0.2.so.
Aus verschiedenen Gründen musste ich das System jedoch neu hochziehen, wobei
jedoch die Home-Directory incl Sub-Directories des Benutzers der
vorherigen Version nicht gelöscht wurden. Bei der neuen Installation habe
ich diese unvorsichtiger Weise einfach übernommen, so dass sich das alte
osm2pgsql, welches noch in den Sub-Directories gespeichert war, in das neue
System rettete. Die neue libgeos-Installation wurde jedoch mit der
Version 3.1.0 durchgeführt (einschließlich -devel). Daher der Fehler beim
Aufruf der alten osm2pgsql, dass er die Bibliothek libgeos-3.0.2.so nicht
findet (wie denn auch, ist nicht vorhanden). Da offensichtlich die
Upwärts-Kompalität der Biliothek libgeos-3.1.0 nicht gegeben ist (wie Du
schon
vermutet hast) führte dann der link zu dem Speicherzugriffsfehler.
Eine neu Kompilierung (ohne hartes statisches linken) unter dem neuen System
mit libgeos-3.1.0 beseitigte das Problem, habe eben das Programm zum
erstenmal mit Erfolg eingesetzt (ohne Fehlermeldung). Eine erste Sichtung
der Datenbank zeigt, dass Daten eingelesen wurden. Diese muss ich jedoch
noch richtig sichten, um den Erfolg zu validieren (aber ich denke schon,
dass es richtig abgelaufen ist, sonst muss ich es erneut auf die
mailing-Liste setzen).

Wie man sieht, man lernt nicht aus und shit happens, muss wohl das nächste
Mal vorsichtiger sein, wenn ich Daten einfach übernehme.

Gruß

Werner

-----Ursprüngliche Nachricht-----
Von: talk-de-bounces at openstreetmap.org
[mailto:talk-de-bounces at openstreetmap.org] Im Auftrag von Sven Geggus
Gesendet: Freitag, 5. Juni 2009 09:48
An: talk-de at openstreetmap.org
Betreff: Re: [Talk-de] osm2pgsql


Werner König <werner-koenig at t-online.de> wrote:

> Nun zu der ursprünglichen Problematik. Warum ein osm2pgsql, welches 
> vom OSM-Subversion-Repository unter 
> http://svn.openstreetmap.org/applications/utils/export/osm2pgsql 
> geladen wurde, bei einem manuellen Build mittels make (welches 
> komplett durchläuft, ohne warnings und errors) zu einem Programm 
> führt, dass die libgeo-3.0.2.so und nicht die libgeo-3.1.0.so aufruft, 
> entzieht sich meiner Kenntnis.

Sehr merkwürdig. Schau mal ob die geos devel und Runtime Pakete von der
Version her übereinstimmen. Ansonsten halt einfach mal hart statisch linken:

Im Makefile LDFLAGS += $(shell geos-config --libs) wie folgt ersetzen:

Bei mir sieht das so aus:
alt:
LDFLAGS += $(shell geos-config --libs)
Neu:
LDFLAGS += $(shell geos-config --libs |sed -e 's/-lgeos/-Wl,-Bstatic -lgeos
-Wl,-Bdynamic/g')

Gruss

Sven

-- 
"linux is evolution, not intelligent design"
(Linus Torvalds)

/me is giggls at ircnet, http://sven.gegg.us/ on the Web

_______________________________________________
Talk-de mailing list
Talk-de at openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de





Mehr Informationen über die Mailingliste Talk-de