• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

XML Fehler beim Kompilieren von PHP 5

kauan

Stina Lohmann
Registriert
31.12.05
Beiträge
1.043
Hi

Ich wollte (mal wieder) die aktuelle PHP Version (5.1.2) kompilieren. Ich benutzte die folgenden configure Optionen:
Code:
./configure 
--prefix=/usr \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--with-config-file-path=/etc \
--with-apxs2=/usr/sbin/apxs \
--with-mysql=/usr/local/mysql \
--enable-mbstring \
--enable-mbregex

configure selbst verlief fehlerfrei, beim anschliessenden make erhielt ich aber den folgenden Fehler:


Code:
/bin/sh /usr/local/src/php-5.1.2/libtool --silent --preserve-dup-deps --mode=compile gcc  -Iext/libxml/ -I/usr/local/src/php-5.1.2/ext/libxml/ -DPHP_ATOM_INC -I/usr/local/src/php-5.1.2/include -I/usr/local/src/php-5.1.2/main -I/usr/local/src/php-5.1.2 -I/usr/include/libxml2 -I/usr/local/src/php-5.1.2/ext/date/lib -I/usr/local/src/php-5.1.2/ext/mbstring/oniguruma -I/usr/local/src/php-5.1.2/ext/mbstring/libmbfl -I/usr/local/src/php-5.1.2/ext/mbstring/libmbfl/mbfl -I/usr/local/mysql/include -I/usr/local/src/php-5.1.2/TSRM -I/usr/local/src/php-5.1.2/Zend  -no-cpp-precomp  -I/usr/include -g -O2  -c /usr/local/src/php-5.1.2/ext/libxml/libxml.c -o ext/libxml/libxml.lo 
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:43:28: libxml/xmlsave.h: No such file or directory
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:407: error: parse error before "error"
/usr/local/src/php-5.1.2/ext/libxml/libxml.c: In function `_php_libxml_free_error':
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:409: error: `error' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:409: error: (Each undeclared identifier is reported only once
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:409: error: for each function it appears in.)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c: At top level:
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:413: error: parse error before "error"
/usr/local/src/php-5.1.2/ext/libxml/libxml.c: In function `_php_list_set_error_structure':
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:415: error: `xmlError' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:415: error: parse error before "error_copy"
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:420: error: `error_copy' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:422: error: `error' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:427: error: `XML_ERR_ERROR' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:433: error: `msg' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c: At top level:
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:525: error: parse error before "xmlErrorPtr"
/usr/local/src/php-5.1.2/ext/libxml/libxml.c: In function `php_libxml_structured_error_handler':
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:527: error: `error' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c: In function `zm_startup_libxml':
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:590: error: `XML_PARSE_NOENT' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:591: error: `XML_PARSE_DTDLOAD' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:592: error: `XML_PARSE_DTDATTR' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:593: error: `XML_PARSE_DTDVALID' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:594: error: `XML_PARSE_NOERROR' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:595: error: `XML_PARSE_NOWARNING' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:596: error: `XML_PARSE_NOBLANKS' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:597: error: `XML_PARSE_XINCLUDE' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:598: error: `XML_PARSE_NSCLEAN' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:599: error: `XML_PARSE_NOCDATA' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:600: error: `XML_PARSE_NONET' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:608: error: `XML_ERR_NONE' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:609: error: `XML_ERR_WARNING' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:610: error: `XML_ERR_ERROR' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:611: error: `XML_ERR_FATAL' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c: In function `zif_libxml_use_internal_errors':
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:690: error: `xmlStructuredErrorFunc' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:690: error: parse error before "current_handler"
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:697: error: `current_handler' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:697: error: `xmlStructuredError' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:719: error: `xmlError' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c: In function `zif_libxml_get_last_error':
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:730: error: `xmlErrorPtr' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:730: error: parse error before "error"
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:732: error: `error' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c: In function `zif_libxml_get_errors':
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:761: error: `xmlErrorPtr' undeclared (first use in this function)
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:761: error: parse error before "error"
/usr/local/src/php-5.1.2/ext/libxml/libxml.c:769: error: `error' undeclared (first use in this function)
make: *** [ext/libxml/libxml.lo] Error 1


Ich vermute das haengt irgendwie mit libtool oder so zusammen, aber was genau weiss ich nicht. Durch Google wurde ich auch nicht schlau.
Funktionieren tut das ganze, wenn ich all diesen XML Kram nicht mitkompiliere (ich brauche diese Funktionen aber). Mit den folgenden configure Optionen funktioniert das make problemlos (ein paar sind wohl nicht relevant, aber jedenfalls konnte ich PHP mit diesen Optionen kompilieren).

Code:
./configure
--prefix=/usr \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--with-config-file-path=/etc \
--with-apxs2=/usr/sbin/apxs \
--with-mysql=/usr/local/mysql \
--enable-mbstring \
--enable-mbregex \
--disable-libxml \
--disable-dom \
--disable-simplexml \
--disable-xml \
--without-pear \
--without-iconv


Hat jemand irgendwelche Tipps fuer mich?
Und nein, ich werde nicht auf ein vorkompiliertes PHP zurueckgreifen.

Gruss
Jonathan
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
kauan schrieb:
Und nein, ich werde nicht auf ein vorkompiliertes PHP zurueckgreifen.
Mich interessiert, warum nicht?

Bezüglich der Fehlermeldung: Gewöhnlich sucht man die erste (oberste) Fehlermeldung heraus, die der Auslöser für alle weiteren ist. Diejenige, die Du bekommst, ist:
Code:
libxml/xmlsave.h: No such file or directory
Er findet offensichtlich diese Datei nicht ;)
 

Danyow

Gast
MacMark schrieb:
Mich interessiert, warum nicht?

Hmm, dann wirf doch mal einen Blick darauf, WAS er da eingebunden hat und Du wirst feststellen, daß es recht wenig ist...

Es KÖNNTE darauf hindeuten, daß er einen SCHLANKEN Server haben möchte...
Und die ganzen anderen Schnickschnacklibs, die in den meisten precompiled Versionen vorkommen, machen einen Server nunmal eher das Gegenteil von Schlank...

Warum wird eigentlich in Mac-Foren immer diese Art von Rückfragen gestellt, wenn man etwas SELBER konfigurieren möchte?
(Zugegeben: wenn man Leute nach Formatierungen in LaTeX fragt erhält man ähnlich ätzende Reaktionen...)
*kopfschüttel*

Zum Ursprungspost:
Die nicht gefundene header-Datei liegt (zumindest bei Tiger) unter
/usr/include/libxml2/libxml/xmlsave.h

Schau doch mal nach, wie Du configure mitteilen kannst, diese (zumindest als Ausgangpunkt) zu verwenden.
(Wahrscheinlich sowas in der Art von --with-libxml-dir=/usr/include/libxml2 oder so - hab leider zu wenig Erfahrung beim kompilieren, deswegen das nur als Idee)
 

kauan

Stina Lohmann
Registriert
31.12.05
Beiträge
1.043
MacMark schrieb:
Mich interessiert, warum nicht?
Nicht nur aus Danyows genanntem Grund (so wenig wird da uebrigens nicht installiert, ein paar Module muss man explizit deaktivieren wenn man sie nicht will.

Allgemein mag ich persoenlich solche Komplettalles Distributionen nicht, weil da zum einen vieles installiert ist, was ich nicht brauche und ausserdem nicht an meine Beduerfnisse angepasst ist. Habt ihr euch zum Beispiel mal die Konfigurationsfiles von xampp angesehen? Klar, die kann man aendern, ich weiss.
Ich moechte einfach wissen, was ich installiere, und darum auch, wie ich es installiere.
Ganz nebenbei, man lernt verdammt viel, wenn man seine Software 'von Hand' installiert. Ich habe eine Zeit lang Gentoo Linux benutzt, und waehrend dieser Zeit habe ich sehr viel gelernt, auch schon nur durchs durchfuehren von Installationen und Konfigurationen.

Danyow schrieb:
Warum wird eigentlich in Mac-Foren immer diese Art von Rückfragen gestellt, wenn man etwas SELBER konfigurieren möchte?
Finde ich auch komisch, ist aber nicht nur bei Macs so. Je nach Forum schreibt man, dass man Probleme mit der Installation von xx hat, weil yy nicht funktioniert. Statt einem Loesungsvorschlag erhaelt man dann die Antwort, dass man Software zz benutzen soll, da diese besser ist. Na toll :D

Aber nun zum Problem..

Dass der Fehler bei diesem libxml/xmlsave.h liegt, ist mir bekannt. (Explizit steht im Sourcecode #include <libxml/xmlsave.h>.
Ich habe schon mit diesem --with-libxml-dir Parameter rumprobiert, hat aber bis jetzt nicht geklappt. Komisch finde ich, dass immer folgendes verwendet wird:
Code:
checking for xml2-config path... (cached) /usr/bin/xml2-config
Obwohl ich andere Pfade fuer libxml-dir angegeben habe.

Ich versuch noch ein paar andere Pfade fuer libxml-dir, mal sehen.

Danke schonmal ;)

Gruss
Jonathan
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
XAMP? Das einzige, was bei OS X (Nicht-Server) fehlt, ist MySQL - und eine neuere PHP-Version. Mit XAMP verpaßt man das interessante Lernen, wie die Sachen mit und auf OS X konfiguriert werden und das würde mir fehlen.
 

kauan

Stina Lohmann
Registriert
31.12.05
Beiträge
1.043
MacMark schrieb:
XAMP? Das einzige, was bei OS X (Nicht-Server) fehlt, ist MySQL - und eine neuere PHP-Version. Mit XAMP verpaßt man das interessante Lernen, wie die Sachen mit und auf OS X konfiguriert werden und das würde mir fehlen.
Sag ich doch. Und xampp war nur so ein Beispiel.
Und bei meinem Panther war ein Apache 1.3 dabei, wenn ich mich richtig erinnere.
 

Danyow

Gast
kauan schrieb:
Und bei meinem Panther war ein Apache 1.3 dabei, wenn ich mich richtig erinnere.
Du irrst nicht - ist im Übrigen bei Tiger immernoch der Fall.
(Dabei bekommt man den ja sogar für ein Debian/Stable seit, ähem, geraumer Zeit über apt - PHP5 hingegen immernoch nicht...)

D
 

kauan

Stina Lohmann
Registriert
31.12.05
Beiträge
1.043
So!
Ich vermutete den Fehler beim oben erwaehnten
Code:
checking for xml2-config path... (cached) /usr/bin/xml2-config
...weil beim dem Panther enthaltenen libxml2 diese xmlsave.h fehlt. PHP hat aber beim Kompilieren anscheinend immder diese Version genommen.
Nun habe ich einen Eintrag in der Datei config.cache geaendert:
Code:
ac_cv_php_xml2_config_path=${ac_cv_php_xml2_config_path=[B]/sw/bin/xml2-config[/B]}
und nun scheint es zu gehen!