I’ve experienced the problem a month ago but as I see in others blogs people still face it while trying to install/upgrade sqlite3-ruby gem up to version 1.2.2. Being installed the gem raises error on an attempt to access sqlite3 database or fire
rake db: commands.
rake aborted! no such file to load -- sqlite3/database
Here is how I’ve fixed the issue with the sqlite3-ruby-1.2.2 gem on my home Gentoo box and some production servers running CentOS and Debian.
Add two following lines of code:
#define RSTRING_PTR(s) (RSTRING(s)->ptr) #define RSTRING_LEN(s) (RSTRING(s)->len)
somewhere into file
/usr/lib/ruby/1.8/i686-linux/ruby.h (path may be slightly different depending on architecture of your system), and then re-install the gem:
$ sudo gem uninstall sqlite3-ruby $ sudo gem install sqlite3-ruby
Note! Also, you may need to check and fix permissions of the newly installed files. On my system they were set to
-rw-rw--w- (662) instead of
Update: Gem update to sqlite3-ruby 1.2.3 has broken my system again. The error is not fixed (or better say not properly fixed) yet.