I am learning how to use ruby from the book, ‘beginning ruby, novice to
pro…’ The chapter on using ruby with sql requires that I install
sqlite3-ruby.
Using sudo gem install sqlite3-ruby, I got the following–
Building native extensions. This could take a while…
ERROR: Error installing sqlite3-ruby:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.8 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.
Gem files will remain installed in /var/lib/gems/1.8/gems/sqlite3-1.3.3
for inspection.
Results logged to
/var/lib/gems/1.8/gems/sqlite3-1.3.3/ext/sqlite3/gem_make.out
going into irb,
require ‘rubygems’
=> true
require ‘sqlite3’
no such file to load – sqlite3 (LoadError)
What went wrong?
*my pc is on ubuntu 11.04. I checked synaptic package manager and see
that sqlite3 is installed.
I looked up and installed libsqlite3-dev in synaptic package manager.
Running irb…
require ‘sqlite3’
=>
LoadError: no such file to load – sqlite3
from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require' from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:inrequire’
from (irb):2
from /usr/lib/ruby/1.8/rubygems.rb:123
/usr/bin/ruby1.8 extconf.rb
checking for sqlite3.h… no
sqlite3.h is missing. Try ‘port install sqlite3 +universal’
…
*my pc is on ubuntu 11.04. I checked synaptic package manager and see
that sqlite3 is installed.
You need libsqlite3-dev, which will provide sqlite3.h.
ERROR: While executing gem … (Gem::FilePermissionError)
You don’t have write permissions into the /var/lib/gems/1.8
directory.
so I tried–
sudo gem install sqlite3
and got the following–
Building native extensions. This could take a while…
Successfully installed sqlite3-1.3.3
1 gem installed
Installing ri documentation for sqlite3-1.3.3…
No definition for libversion
Enclosing class/module ‘mSqlite3’ for class Statement not known
Installing RDoc documentation for sqlite3-1.3.3…
No definition for libversion
Enclosing class/module ‘mSqlite3’ for class Statement not known
Hello! The sqlite3-ruby gem has changed it’s name to just sqlite3.
Rather than
installing sqlite3-ruby, you should install sqlite3. Please update
your
dependencies accordingly.