
Ich verwende CentOS 6.3 64bit und das DirectAdmin-Kontrollfeld. Derzeit habe ich Apache Subversion 1.6.19 ohne Probleme installiert.
Ich habe Expat und Expat-Devel und Neon-Devel mit Yum installiert.
Bei der Installation von Apache Subversion 1.6.19 funktioniert dieser Konfigurationsbefehl einwandfrei:
./configure --prefix=/usr --with-ssl --with-apxs=/usr/sbin/apxs --with-apr=/usr/bin/apr-config
Wenn ich jedoch Apache Subversion 1.7.7 mit demselben Konfigurationsbefehl wie oben installiere, erhalte ich nach der Ausführung des Befehls „make“ diesen Fehler:
/etc/httpd/lib/libaprutil-1.so: undefined reference to `XML_StopParser'
collect2: ld returned 1 exit status
make: *** [subversion/svnadmin/svnadmin] Error 1
Ich habe jedoch herausgefunden, dass ich das Problem lösen kann, indem ich dem Konfigurationsbefehl Folgendes hinzufüge:
--with-expat=includes:lib_search_dirs:libs
Es sieht dann also so aus:
./configure --prefix=/usr --with-ssl --with-expat=includes:lib_search_dirs:libs --with-apxs=/usr/sbin/apxs --with-apr=/usr/bin/apr-config
Dieser Konfigurationsbefehl gibt jedoch diese Warnung aus:
configure: WARNING: Expat found amongst libraries used by APR-Util, but Subversion libraries might be needlessly linked against additional unused libraries. It can be avoided by specifying exact location of Expat in argument of --with-expat option.
Also möchte ich das lösen. Ich habe viel experimentiert, konnte aber nicht herausfinden, wie ich im Konfigurationsbefehl den „genauen Standort von Expat angeben“ kann und wie ich herausfinden kann, wo der Standort sein sollte.
Nach langem Suchen habe ich jedoch Folgendes gefunden:http://subversion.tigris.org/issues/show_bug.cgi?id=3997- das ist ein FreeBSD-Benutzer, der Folgendes sagt:
Building Subversion 1.7.x on FreeBSD currently requires a configure flag:
--with-expat=/usr/local/include:/usr/local/lib:expat
As that is the default location of expat on that platform, it would be nice if configure detected it automatically.
Ich verwende jedoch nicht FreeBSD, sondern CentOS 6.3 64bit. Denken Sie auch daran, dass ich Expat, Expat-Devel und Neon-Devel mit Yum installiert habe.
Ich habe jedoch versucht, den vom FreeBSD-Benutzer angegebenen Expat/Command-Pfad zu verwenden, und es scheint zu funktionieren. Es treten keine Fehler auf, wenn der Konfigurationsbefehl ausgeführt wird, und es treten auch keine Fehler auf, wenn „make“ ausgeführt wird. Das hier habe ich dann verwendet:
./configure --prefix=/usr --with-ssl --with-expat=/usr/local/include:/usr/local/lib:expat --with-apxs=/usr/sbin/apxs --with-apr=/usr/bin/apr-config
Aber dieser Server ist ein Produktionsserver und deshalb brauche ich Ihre Hilfe, um zu erfahren, ob dies auch auf einem CentOS-Server ausgeführt werden kann. Ist der folgende Pfad im Expat-Befehl unter CentOS korrekt?:
--with-expat=/usr/local/include:/usr/local/lib:expat
Wenn nicht, geben Sie bitte an, was geändert werden soll. Vielen Dank im Voraus für jede Bestätigung oder Hilfe hierzu!
Ich habe mich geirrt, der Expat-Standort von FreeBSD funktioniert unter CentOS nicht. Dies:
./configure --prefix=/usr --with-ssl --with-expat=/usr/local/include:/usr/local/lib:expat --with-apxs=/usr/sbin/apxs --with-apr=/usr/bin/apr-config
Geben Sie nach der Ausführung von „make“ diesen Fehler aus:
/etc/httpd/lib/libaprutil-1.so: undefined reference to `XML_StopParser'
collect2: ld returned 1 exit status
make: *** [subversion/svnadmin/svnadmin] Error 1
Ich gebe auf. Ich finde nirgendwo im Internet eine Antwort darauf, wie ich den Expat-Standort im obigen Befehl für CentOS angeben kann (ich habe über eine Woche nach einer Lösung gesucht) und habe an mehreren Stellen um Hilfe gebeten.
Antwort1
Duhabendas Paket installiert expat-devel
, richtig?