2010-05-20 20 views
5

tengo la siguiente configuración:Construir una joya con extensión nativa (Gem :: :: Instalador ExtensionBuildError)

  • uname -a: Linux 2.6.24.2 i686 GNU/Linux (Ubuntu)
  • ruby ​​-v: rubí 1.9.0 (2007-12-25 revisión 14709) [i486-linux]
  • carriles -v: Rails 3.0.0.beta3
  • joya -v: 1.3.5
  • rastrillo --version: rastrillo, versión 0.8.7
  • hacer -v: GNU Make 3,81
  • joya env:
    • rubygems VERSIÓN: 1.3 0,5
    • RUBY VERSION: 1.9.0 (2007-12-25 Patchlevel 0) [i486-linux]
    • instalación de Directory: /usr/lib/ruby1.9/gems/1.9.0
    • RUBY ejecutables: /usr/bin/ruby1.9
    • directorio de la aplicación:/usr/bin
    • PLATFORMS RubyGems:
    • rubí
    • x86-Linux
    • CAMINOS GEM:
      • /usr/lib/ruby1.9/gems/1.9.0
      • /root/.gem/ruby/1.9.0
    • GEM CONFIGURACIÓN:
      • : update_sources => true
      • : verbose => true
      • : punto de referencia => false
      • : backtrace => false
      • : bulk_threshold => 1000
    • FUENTES REMOTAS:

Y cuando intento este simple comando:

gem install nokogiri 

Esto es lo que me sale:

 
# gem install nokogiri 
Building native extensions. This could take a while... 
ERROR: Error installing nokogiri: 
     ERROR: Failed to build gem native extension. 

/usr/bin/ruby1.9 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/include,/usr/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/include,/usr/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/include,/usr/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/include,/usr/include/libxml2,/usr/include,/usr/include/libxml2... yes 
checking for xmlParseDoc() in -lxml2... yes 
checking for xsltParseStylesheetDoc() in -lxslt... yes 
checking for exsltFuncRegister() in -lexslt... yes 
checking for xmlRelaxNGSetParserStructuredErrors()... yes 
checking for xmlRelaxNGSetParserStructuredErrors()... yes 
checking for xmlRelaxNGSetValidStructuredErrors()... yes 
checking for xmlSchemaSetValidStructuredErrors()... yes 
checking for xmlSchemaSetParserStructuredErrors()... yes 
creating Makefile 

make 
cc -I. -I/usr/include/libxml2 -I/usr/include -I/usr/include/ruby-1.9.0/i486-linux -I/usr/include/ruby-1.9.0 -I. -DHAVE_XMLRELAXNGSETPARSERSTRUCTUREDERRORS -DHAVE_XMLRELAXNGSETPARSERSTRUCTUREDERRORS -DHAVE_XMLRELAXNGSETVALIDSTRUCTUREDERRORS -DHAVE_XMLSCHEMASETVALIDSTRUCTUREDERRORS -DHAVE_XMLSCHEMASETPARSERSTRUCTUREDERRORS -I/opt/local/include/ -I/opt/local/include/libxml2 -I/opt/local/include -D_FILE_OFFSET_BITS=64 -fPIC -fno-strict-aliasing -g -fPIC -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -o xml_document_fragment.o -c xml_document_fragment.c 
In the included file starting at ./nokogiri.h:75, 
      From ./xml_document_fragment.h:4, 
      From xml_document_fragment.c:1: 
./xml_document.h:5:16: error: st.h : No file or folder with this type 
make: *** [xml_document_fragment.o] Error 1 


Gem files will remain installed in /usr/lib/ruby1.9/gems/1.9.0/gems/nokogiri-1.4.1 for inspection. 
Results logged to /usr/lib/ruby1.9/gems/1.9.0/gems/nokogiri-1.4.1/ext/nokogiri/gem_make.out 

El archivo "gem_make.out" contiene la misma información exacta que se describe arriba.

si lo intento con otra joya:

gem install gherkin 

Esto es lo que me sale:

 
u# gem install gherkin 
Building native extensions. This could take a while... 
ERROR: Error installing gherkin: 
     ERROR: Failed to build gem native extension. 

/usr/bin/ruby1.9 extconf.rb 
checking for main() in -lc... yes 
creating Makefile 

make 
cc -I. -I/usr/include/ruby-1.9.0/i486-linux -I/usr/include/ruby-1.9.0 -I. -D_FILE_OFFSET_BITS=64 -fPIC -fno-strict-aliasing -g -fPIC -o gherkin_lexer_ar.o -c gherkin_lexer_ar.c 
/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl:11:16: erreur: re.h : Aucun fichier ou dossier de ce type 
make: *** [gherkin_lexer_ar.o] Erreur 1 


Gem files will remain installed in /usr/lib/ruby1.9/gems/1.9.0/gems/gherkin-1.0.30 for inspection. 
Results logged to /usr/lib/ruby1.9/gems/1.9.0/gems/gherkin-1.0.30/ext/gherkin_lexer_ar/gem_make.out 

De hecho cada vez que intento instalar una joya con extensión nativa, consigo mismo tipo de error

¿Eso le sonaría a alguien?

Respuesta

1

parece que el Issue #116 of Nokogiri lo dice todo:

Ruby 1.9. 0 no es compatible con. Debe actualizar a 1.9.1-p129 o incluso 1.9.2. 1.9.0 está demasiado roto para ser compatible. :-(

ahora es posible que quiera actualizar esta pequeña cosa rubí ...

+1

Bueno, instalé Ruby 1.9.1 de fuentes gracias a esta publicación en el blog: http://rudygems.com/post/99075288/ruby-191-install Y ahora funciona a la perfección. –

0

Para nokogiri se puede dar una oportunidad here

Para otras gemas que pueda check here de rubí problemas 1,9 compatibilidad

+0

La página nokogiri usted propone se trata de conseguir instalado en environements Mac OS. Yo trato de instalar la gema con las fuentes , pero no funcionó. Y no estoy seguro de que el problema sea sobre la compatibilidad de Ruby 1.9 ya que podría instalarlo todo en mi estación de trabajo de Windows, pero no en el servidor de Ubuntu. Estoy abierto a otros proposiciones, sin embargo. –

Cuestiones relacionadas