Hi all,
I try to figure out why a small Rails application doesn’t run and the
problem seems to be that the DB file apparently can’t be opened.
So, yes sqlite3-ruby is installed (via gem) and sqlite3 itself is also
installed and running (the sqlite3 command is available and I can run
select statements etc.).
Only if I try to open that very DB file from Ruby an exception is
raised.
I don’t think this should be necessary, but I also copied libsqlite3.so
into the $LOAD_PATH - to no avail.
This is on a Debian 3.1 Linux machine.
sqlite3 -version # => 3.3.5
ruby -v # => ruby 1.8.4 (2005-12-24) [i686-linux]
Here’s what I get form irb:
irb(main):001:0> require ‘English’
=> true
irb(main):002:0> require ‘sqlite3’
=> true
irb(main):003:0> $LOAD_PATH
=> ["/usr/local/lib/ruby/site_ruby/1.8",
“/usr/local/lib/ruby/site_ruby/1.8/i686-linux”,
“/usr/local/lib/ruby/site_ruby”, “/usr/local/lib/ruby/1.8”,
“/usr/local/lib/ruby/1.8/i686-linux”, “.”]
irb(main):004:0> db = SQLite3::Database.new( “example.db3” )
RuntimeError: libsqlite3.so: cannot open shared object file: No such
file or directory
from /usr/local/lib/ruby/1.8/dl/import.rb:29:in initialize' from /usr/local/lib/ruby/1.8/dl/import.rb:29:in
dlload’
from /usr/local/lib/ruby/1.8/dl/import.rb:27:in dlload' from /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.1.0/lib/sqlite3/driver/dl/api.rb:63 from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
require’
from
/usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.1.0/lib/sqlite3/driver/dl/driver.rb:33
from
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
require' from /usr/local/lib/ruby/site_ruby/1.8/sqlite3/database.rb:642:in
load_driver’
from
/usr/local/lib/ruby/site_ruby/1.8/sqlite3/database.rb:640:in
load_driver' from /usr/local/lib/ruby/site_ruby/1.8/sqlite3/database.rb:107:in
initialize’
from (irb):4
Now, I appreciate all ideas how to get this going.
Happy rubying everybody
Stephan