ruby-on-rails - parse - nokogiri windows
Instalando nokogiri-No se pudo construir la extensión nativa de la gema (3)
Al instalar Nokogiri en Ubuntu 12, recibí un error:
Installing nokogiri (1.4.4) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9.1 extconf.rb
extconf.rb:10: Use RbConfig instead of obsolete and deprecated Config.
checking for libxml/parser.h... yes
checking for libxslt/xslt.h... yes
checking for libexslt/exslt.h... yes
checking for iconv_open() in iconv.h... yes
checking for xmlParseDoc() in -lxml2... yes
checking for xsltParseStylesheetDoc() in -lxslt... yes
checking for exsltFuncRegister() in -lexslt... yes
checking for xmlFirstElementChild()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetValidStructuredErrors()... yes
checking for xmlSchemaSetValidStructuredErrors()... yes
checking for xmlSchemaSetParserStructuredErrors()... yes
creating Makefile
make
compiling html_sax_parser_context.c
compiling xml_io.c
compiling xml_entity_reference.c
compiling xml_schema.c
compiling xml_element_content.c
compiling xml_reader.c
compiling xml_sax_push_parser.c
compiling xml_sax_parser.c
compiling xslt_stylesheet.c
compiling xml_element_decl.c
compiling xml_node.c
compiling xml_cdata.c
compiling xml_processing_instruction.c
compiling xml_entity_decl.c
compiling xml_attribute_decl.c
compiling xml_xpath_context.c
xml_xpath_context.c: In function ‘xpath_generic_exception_handler’:
xml_xpath_context.c:184:3: error: format not a string literal and no format arguments [-Werror=format-security]
cc1: some warnings being treated as errors
make: *** [xml_xpath_context.o] Error 1
Gem files will remain installed in /home/alex/.bundler/tmp/22194/gems/nokogiri-1.4.4 for inspection.
Results logged to /home/alex/.bundler/tmp/22194/gems/nokogiri-1.4.4/ext/nokogiri/gem_make.out
An error occurred while installing nokogiri (1.4.4), and Bundler cannot continue.
Make sure that `gem install nokogiri -v ''1.4.4''` succeeds before bundling.
Ya instalé libxslt-dev y libxml2-dev, pero como ve, no ayudó.
¿Cómo lo soluciono?
¿Hay alguna razón específica por la que necesita 1.4.4 en lugar de la última versión 1.5.6? De lo contrario, sugiero actualizar.
El registro de cambios de Nokogiri muestra que arreglaron esto en 1.5.4:
Cree soporte en sistemas Debian reforzados que usan
-Werror=format-security
. # 680.
@Confusion tiene la idea correcta.
Bundler probablemente esté bloqueado en nokogiri-1.4.4 en Gemfile y / o Gemfile.lock. La respuesta de @Confusion de ejecutar la actualización del paquete debería permitirle a su entorno Ruby Bundler usar el nokogiri-1.5.6 instalado correctamente.
Me tropecé con esto tratando de instalar bigbluebutton en ubuntu 13.04
Lo resolví haciendo este truco para compilar revertir la bandera de gcc de formato de seguridad en todo el sistema
Ten cuidado al hacer la primera rm
. ¡Puede romper todo tu sistema!
rm /usr/bin/gcc
nano /usr/bin/gcc
## contents of /usr/bin/gcc
#!/bin/sh
gcc-4.7 $* -Wno-format-security
## save and exit
chmod u+x /usr/bin/gcc
gem install nokogiri -v ''1.4.4''