views:

917

answers:

3

UPDATE 3/20/10

I'm running Mac OSX Snow Leopard, this problem is caused by a recent train wreck in which I updated ruby without RVM. I've attempted to properly install/run RVM, however I can't get it to work.

I am unable to install the sqlite3-ruby gem. I get the following ERROR: Error installing sqlite3-ruby: ERROR: Failed to build gem native extension.

How do I fix this?

$ which ruby
/usr/local/bin/ruby
$ whereis ruby
/usr/bin/ruby
$ which rails
/usr/local/bin/rails
$ whereis rails
/usr/bin/rails
$ which gem
/usr/local/bin/gem
$ whereis gem
/usr/bin/gem
$ ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-darwin10.2.0]
$ rails -v
Rails 2.3.5
$ gem list

*** LOCAL GEMS ***

actionmailer (2.3.5)
actionpack (2.3.5)
activerecord (2.3.5)
activeresource (2.3.5)
activesupport (2.3.5)
builder (2.1.2)
bundler (0.9.11)
columnize (0.3.1)
erubis (2.6.5)
fastercsv (1.5.1)
ffi (0.6.3)
gbarcode (0.98.16)
i18n (0.3.5)
linecache (0.43)
mail (2.1.3)
memcache-client (1.8.0)
prawn (0.8.4)
prawn-core (0.8.4)
prawn-layout (0.8.4)
prawn-security (0.8.4)
rack (1.1.0, 1.0.1)
rack-mount (0.6.1)
rack-test (0.5.3)
rails (2.3.5)
rake (0.8.7)
ruby-debug (0.10.3)
ruby-debug-base (0.10.3)
rubygems-update (1.3.6)
sqlite3 (0.0.8)
text-format (1.0.0)
thor (0.13.4)
tzinfo (0.3.17)

$ sudo gem install sqlite3-ruby
Password:
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3-ruby:
    ERROR: Failed to build gem native extension.

/usr/local/bin/ruby extconf.rb
checking for fdatasync() in -lrt... no
checking for sqlite3.h... yes
checking for sqlite3_open() in -lsqlite3... no
*** 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
    --with-rtlib
    --without-rtlib
    --with-sqlite3lib
    --without-sqlite3lib


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

profile:

export MANPATH=/opt/local/share/man:$MANPATH    
export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"
if [[ -s /Users/justinz/.rvm/scripts/rvm ]] ; then source /Users/justinz/.rvm/scripts/rvm ; fi
+1  A: 

Try this: http://stackoverflow.com/questions/1373108/snow-leopard-sqlite3-ruby

Trevor Hartman
He is still on 1.8, that link probably won't make a difference. I am sure it's to do with the Developer tools not being installed yet.
Garrett
justin-zollarss-mac-pro:~ justinz$ sudo ln -s /Developer/SDKs/MacOSX10.6.sdk/usr/lib/libsqlite3.0.dylib /usr/local/lib/libsqlite3.dylibPassword:ln: /usr/local/lib/libsqlite3.dylib: File exists
JZ
A: 

You need to install Xcode. You can download it at developer.apple.com for free.

Garrett
reinstalled xcode, that wasn't the problem :( would have been an easy fix
JZ
+1  A: 

uninstall the sqlite3 gem and then try again -- i seem to recall that sqlite3 and sqlite3-ruby aren't compatible. otherwise, append the results file to your question so we can see what went wrong when the compilation happened.

corprew
JZ, have you had a chance to check this out?
corprew
In order to correct this problem I uninstalled sqlite3 gem, and installed sqlite3-ruby gem
JZ