2011-02-19 17 views
7

Possible Duplicate:
sqlite3-ruby install error on UbuntuNo puedo instalar la gema sqlite3

Hola chicos utilizo apt-get para instalar sqlite3 en mi VPS que se está ejecutando Ubuntu 10, puedo correr sqlite3 sin ningún problema. Pero cuando intento usar gem install sqlite3, obtengo este error:

[email protected]:/# gem install sqlite3 
Building native extensions. This could take a while... 
ERROR: Error installing sqlite3: 
    ERROR: Failed to build gem native extension. 

     /usr/local/bin/ruby extconf.rb 
checking for sqlite3.h... no 
sqlite3.h is missing. Try 'port install sqlite3 +universal' 
or 'yum install sqlite3-devel' and check your shared library search path (the 
location where your sqlite3 shared library is located). 
*** 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-sqlite3-dir 
    --without-sqlite3-dir 
    --with-sqlite3-include 
    --without-sqlite3-include=${sqlite3-dir}/include 
    --with-sqlite3-lib 
    --without-sqlite3-lib=${sqlite3-dir}/lib 


Gem files will remain installed in /usr/local/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.3 for inspection. 
Results logged to /usr/local/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.3/ext/sqlite3/gem_make.out 

¿Algún consejo?

+0

Debe actualizar a Ruby 1.9.2, soluciona muchos problemas. –

+0

El rubí ya es 1.9.2, lo compilo yo mismo – mko

Respuesta

19

Necesita instalar primero las cabeceras de desarrollo SQLite para que pueda compilar la joya contra ellos:

sudo apt-get install libsqlite3-dev 

continuación, intente instalar la gema.

+0

¡Funciona! Quiero saber qué es el encabezado de desarrollo, para qué sirve? – mko

+0

La gema sqlite3 es una extensión Ruby C, por lo que debe compilarse. Como necesita incluir los encabezados de biblioteca sqlite3 en la compilación, necesita ese paquete. –

+0

¡Funcionó como un amuleto! ¡Gracias! –

Cuestiones relacionadas