Frage

Nach dem Upgrade auf Snow Leopard stellte ich fest, dass die Installation einiger Edelsteine ​​nicht mehr funktionierte, darunter Webrat, Mechanisierung usw.Jedes Mal erhalte ich diese Fehlermeldung:

checking for xmlParseDoc() in -lxml2... no
libxml2 is missing.  try 'port install libxml2' or 'yum install libxml2'
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Und nein, ich habe nicht versucht, es mit MacPorts zu installieren, weil ich vor ein paar Jahren auf MacPorts verzichtet habe, als ich feststellte, dass ich Ports nicht einfach herunterstufen/verwalten konnte.Seitdem ist es mir sehr angenehm geworden, von Hand aus dem Originalmaterial zu bauen, und dies ist das erste Mal, dass ich auf etwas stoße, das außerhalb meines Wissens liegt.Ich bin bereit, mich davon überzeugen zu lassen, zu Macports zurückzukehren, aber nur, wenn es keine einfache Lösung für dieses Problem gibt, das mir fehlt.

Es scheint nicht, dass libxml2 tatsächlich fehlt, vielleicht ist es nur veraltet?...

erweiterte Ausgabe

ERROR: Failed to build gem native extension.

/usr/local/bin/ruby extconf.rb
checking for iconv.h in /opt/local/include/,/opt/local/include/libxml2,/opt/local/include,/opt/local/include,/opt/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2... yes
checking for libxml/parser.h in /opt/local/include/,/opt/local/include/libxml2,/opt/local/include,/opt/local/include,/opt/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2... yes
checking for libxslt/xslt.h in /opt/local/include/,/opt/local/include/libxml2,/opt/local/include,/opt/local/include,/opt/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2... yes
checking for libexslt/exslt.h in /opt/local/include/,/opt/local/include/libxml2,/opt/local/include,/opt/local/include,/opt/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2... yes
checking for xmlParseDoc() in -lxml2... no
libxml2 is missing.  try 'port install libxml2' or 'yum install libxml2'
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/usr/local/bin/ruby
    --with-iconv-dir
    --without-iconv-dir
    --with-iconv-include
    --without-iconv-include=${iconv-dir}/include
    --with-iconv-lib
    --without-iconv-lib=${iconv-dir}/lib
    --with-xml2-dir
    --without-xml2-dir
    --with-xml2-include
    --without-xml2-include=${xml2-dir}/include
    --with-xml2-lib
    --without-xml2-lib=${xml2-dir}/lib
    --with-xslt-dir
    --without-xslt-dir
    --with-xslt-include
    --without-xslt-include=${xslt-dir}/include
    --with-xslt-lib
    --without-xslt-lib=${xslt-dir}/lib
    --with-xml2lib
    --without-xml2lib


Gem files will remain installed in /usr/local/lib/ruby/gems/1.8/gems/nokogiri-1.4.1 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.8/gems/nokogiri-1.4.1/ext/nokogiri/gem_make.out
War es hilfreich?

Lösung 2

AKTUALISIEREN

Wie in einer anderen Antwort angegeben, ist die folgende Lösung „übertrieben“, da sie MacPorts von Ihrem System entfernt, was ich meiner Meinung nach bereits früher getan habe.Gehen Sie vorsichtig vor.Möglicherweise gibt es eine Möglichkeit, MacPorts zu verwenden, um einfach die libxml2-Installation zu aktualisieren.


Ich habe dieses Problem gelöst (zumindest auf meinem Rechner).

Als mir klar wurde, dass nichts in dieser Spur auf das Fehlen von libxml2 hindeutete, sondern eher auf ein Problem mit der erkannten Version, schaute ich mich nach einer Bestätigung dieser Tatsache um.Sicher genug, die Nokogiri-Website (worauf mich viele ähnliche Fehlerberichte hingewiesen haben) besagt unmissverständlich, dass Snow Leopard mit einer gut funktionierenden Version von libxml2 ausgeliefert wird.

Daher kam ich zu dem Schluss, dass ich eine Version schon vor langer Zeit auf andere Weise installiert haben musste.Ich würde mich erinnern, wenn ich es von Hand installiert hätte, also blieb eigentlich nur noch eine Option übrig: verdammte Macports.

$ libxml2-2.7.1 tfwright$ sudo find / -type d -name "libxml2" 
find: /dev/fd/3: Not a directory
find: /dev/fd/4: Not a directory
/Developer/SDKs/MacOSX10.4u.sdk/usr/include/libxml2
/Developer/SDKs/MacOSX10.5.sdk/usr/include/libxml2
/Developer/SDKs/MacOSX10.6.sdk/usr/include/libxml2
/opt/local/include/libxml2
/opt/local/share/gtk-doc/html/libxml2
/opt/local/var/macports/distfiles/libxml2
/opt/local/var/macports/receipts/libxml2
/opt/local/var/macports/software/libxml2
/opt/local/var/macports/software/libxml2/2.6.30_0/opt/local/include/libxml2
/opt/local/var/macports/software/libxml2/2.6.30_0/opt/local/share/gtk-doc/html/libxml2
/opt/local/var/macports/sources/rsync.macports.org/release/ports/textproc/libxml2
/usr/include/libxml2
/usr/share/gtk-doc/html/libxml2

Sohn von ... einfach umwerfend /opt/local/var/macports, das ich zuerst ausprobiert habe, schien das Problem nicht zu beheben, also ging ich zu große Waffen.

sudo rm -rf \
/opt/local \
/Applications/DarwinPorts \
/Applications/MacPorts \
/Library/LaunchDaemons/org.macports.* \
/Library/Receipts/DarwinPorts*.pkg \
/Library/Receipts/MacPorts*.pkg \
/Library/StartupItems/DarwinPortsStartup \
/Library/Tcl/darwinports1.0 \
/Library/Tcl/macports1.0 \
~/.macports

Danach lässt sich alles gut installieren.Stimmt.Vertrauen Sie niemals den Empfehlungen von Fehlermeldungen!Ich musste libxml2 nicht mit Macports neu installieren, im Gegenteil Entfernen Sie alle Spuren von Macports von meinem System, was mich von jenseits des Mülls verfolgte.

Andere Tipps

Floyds Lösung ist übertrieben – ich hatte das gleiche Problem und begann, einige der gleichen /opt/local-Dateien im Zusammenhang mit xml2 zu zerstören, aber sein Befehl „find“ zeigt nicht die tatsächlichen libxml2-Dateien in opt/local/lib an.Es kann sein, dass Sie diese einfach mit Atomwaffen zerstören müssen.

Hier sind meine vernichteten Dateien:

/opt/local/include/libxml2
/opt/local/var/db/dports/distfiles/libxml2
/opt/local/var/db/dports/receipts/libxml2
/opt/local/var/db/dports/software/libxml2
/opt/local/var/db/dports/rsync.rsync.darwinports.org_dpupdate_dports/textproc/libxml2
/opt/local/share/gtk-doc/html/libxml2
/opt/local/var/db/dports/sources/rsync.rsync.darwinports.org_dpupdate_dports/textproc/libxml2

Aber bevor Sie das versuchen - nukieren Sie nur die Lib -Dateien sudo rm /opt/local/lib/libxml2.*

Als ich danach versuchte zu installieren, fing ich an, alles zu kompilieren, scheiterte dann aber an einem Problem mit libz ...

Also nuke, dass in/opt/local/lib sudo rm -rf /opt/local/lib/libz.*

Und es lässt sich prima kompilieren!

Versuchen Sie also, die Dateien /opt/local/lib libxml2.* und libz.* zu zerstören, prüfen Sie, ob sie kompiliert werden, und wenn nicht, zerstören Sie /opt/local/includes

Für die Gems, die Sie installieren möchten, ist libxml2 erforderlich.Wenn Sie mit der Installation aus dem Quellcode vertraut sind, installieren Sie libxml2.

Möglicherweise stoßen Sie auf Abhängigkeitsprobleme, wenn libxml2 von einer Reihe anderer Pakete abhängt, die Sie manuell erstellen und installieren müssen.Das ist einer der Gründe, warum Macports letztendlich nützlich sind.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top