ich möchste xml2 nutzen - ich habe postgsql 8.1.4 im Einsatz (selbst kompiilliert). libxml2 bzw. libxslt sind vorhanden und werden auch von php genutzt. Wenn ich jetzt make bzw. gmake all im Verzeichnis contrib/xml2 ausführe bekommen ich folgenden Fehler:
gcc -I/usr/local/libxml2//include/libxml2 -fpic -I. -I../../src/include -D_GNU_SOURCE -I/usr/local/readline/include -I/usr/local/zlib/include -c -o xslt_proc.o xslt_proc.c
xslt_proc.c:18:26: error: libxslt/xslt.h: No such file or directory
xslt_proc.c:19:35: error: libxslt/xsltInternals.h: No such file or directory
xslt_proc.c:20:31: error: libxslt/transform.h: No such file or directory
xslt_proc.c:21:31: error: libxslt/xsltutils.h: No such file or directory
xslt_proc.c: In function âxslt_processâ:
xslt_proc.c:48: error: âxsltStylesheetPtrâ undeclared (first use in this function)
xslt_proc.c:48: error: (Each undeclared identifier is reported only once
xslt_proc.c:48: error: for each function it appears in.)
xslt_proc.c:48: error: syntax error before âstylesheetâ
xslt_proc.c:102: error: âstylesheetâ undeclared (first use in this function)
xslt_proc.c:117: warning: assignment makes pointer from integer without a cast
make: *** [xslt_proc.o] Error 1
Das Verzeichnis ist im PATH.
Ich habe keine Ahnung woran es noch liegen könnte - kann mir hier jemand helfen?
Das hat mit $PATH erst einmal gar nichts zu tun.
Wo genau liegen bei dir die Dateien, die dort oben nicht gefunden werden (die liegen btw. ganz sicher nicht in $PATH )? Und wie stellst du sicher, dass der Source, den du gerade compilierst, diese Include Dateien findet?
also, die liegen in /usr/local/libxslt/include/libxslt/ - und damit die gefunden werden habe ich diesen Pfad $PATH per export hinzugefügt.
Ich bin jetzt nicht der große Held was solche Arbeiten angeht, und dachte in meinem jugendlichen Leichtsinn das würde wohl ausreichen…
postgresql habe ich nach /usr/local/pgsql installiert, das source Verzeichnis habe ich unter /usr/local/src/postgresql-8.1.4.
Bisher bin ich immer ganz gut zu recht gekommen mit LAMPP (Linux, Apache, mySQL, PHP und postgreSQL), aber nun greife ich das erste Mal auf die contrib zurück.
Wie gehe ich nun am Besten weiter vor? Die README in contrib/xml2 habe ich gelesen - ist ja nicht viel - und auch das Makefile habe ich angesehen. Ich in der Meinung, das sollte so klappen.
Du kannst beim configure Aufruf sicherlich Pfade zu Bibliotheken und Include Dateien angeben, dort gehören die Pfade zu diesen extra installierten Bibliotheken mit hinein.
ähm … muss ich diese Pfade bereits beim configure für postgers mit angeben? Weil bei xml2 gbit es kein Configure - dann müsste ich jetzt zunächst postgres neu compilieren mit den entsprechenden Angaben - korrekt?
erst einmal besten Dank für die Hilfe bishier her, leider bleibt der Fehler trotz Link bestehen. Ich habe den Link mit ln -s /usr/local/src/libxslt/include ins Verzeichnis /usr/include gesetzt, der Fehler bleibt der gleiche.
Hast du noch eine Idee woran es liegen kann - die Dateien sollten nun wirklich gefunden weden.
Der symbolische Link war korrekt, die Dateien wurden unter /usr/include/libxslt angezeigt.
Ich habe jetzt postgre komplett neu kompiliert und dabei die includes/libs entsprechend angegeben. Danach hat es auch sauber mit contrib/xml2 make bzw. make install geklappt Auch das Anlegen der Funktionen war erfolgreich.
Besten Dank für die Unterstützung - habe wieder was dazu gelernt. Nun werde ich meine neuen xml-Funktionen in Ruhe ausprobieren.