tickets sierra org not mac high guide found follow error bug macos rubygems development-environment osx-snow-leopard macports

macos - sierra - Errores al instalar algunas gemas en Snow Leopard-libxml2



port: command not found (3)

Después de actualizar a Snow Leopard, descubrí que la instalación de algunas gemas ya no funcionaba, incluyendo webrat, mechanize, etc. Cada vez que recibo este error:

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.

Y no, no intenté instalarlo con macports porque perdí macports hace un par de años cuando descubrí que no podía degradar / administrar puertos fácilmente. Desde entonces, me he sentido muy cómodo construyendo de la fuente a mano, y esta es la primera vez que me encuentro con algo más allá de mi conocimiento. Estoy dispuesto a persuadirme de volver a macports, pero solo si no hay una solución fácil a esto me falta.

No parece que realmente falte libxml2, ¿tal vez no esté actualizado? ...

salida extendida

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


La solución de Floyd es exagerada. Tuve el mismo problema y comencé a anular algunos de los mismos archivos / opt / locales relacionados con xml2, pero su comando ''find'' no revela los archivos libxml2 reales en opt / local / lib. Puede ser que solo necesites destruirlos.

Aquí están mis archivos numerados:

/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

PERO antes de intentar eso, solo nukee los archivos lib sudo rm /opt/local/lib/libxml2.*

Cuando traté de instalar después de eso, compilé todo pero luego tuve un problema con libz ...

Así que nuke eso en / opt / local / lib sudo rm -rf /opt/local/lib/libz.*

Y compila muy bien!

Por lo tanto, pruebe nuking los archivos / opt / local / lib libxml2. * Y libz. *, Vea si se compila y si no, nuke el / opt / local / includes


Las gemas que intentas instalar requieren libxml2. Si te sientes cómodo instalando desde el origen, instala libxml2 .

Puede encontrarse con problemas de dependencia donde libxml2 depende de muchos otros paquetes que deberá compilar e instalar manualmente. Esa es una razón por la cual macports termina siendo útil.


ACTUALIZAR

Como se indica en otra respuesta, la siguiente solución es "exagerada" porque elimina MacPorts de su sistema, lo que pensé que ya había hecho antes. Proceda con cuidado. Puede haber una forma de usar MacPorts para actualizar la instalación de libxml2.

Resolví este problema (en mi máquina al menos).

Una vez que me di cuenta de que nada en esa traza sugería la falta de libxml2, sino un problema con la versión que se detectaba, busqué la confirmación de este hecho. Efectivamente, el sitio web de nokogiri (donde muchos informes de errores similares me señalaron) afirma en términos inequívocos que Snow Leopard se envía con una buena versión de trabajo de libxml2.

Por lo tanto, razoné que debo haber instalado una versión por otro medio hace mucho tiempo. Recordaría si lo hubiera instalado a mano, por lo que en realidad solo quedaba una opción, frickin ''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

Hijo de ... simplemente volando /opt/local/var/macports , que probé antes que nada, no pareció solucionar el problema, así que fui a las grandes armas .

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

Después de lo cual, todo se instala bien. está bien. ¡Nunca confíes en las recomendaciones de los mensajes de error! Lejos de tener que volver a instalar libxml2 con macports, necesitaba borrar todos los rastros de macports de mi sistema , lo que me perseguía más allá de la basura.