sqlite3-ruby install error on Ubuntu

Viewed 91171

I have the following error during sqlite3-ruby install:

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'
*** 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/bin/ruby1.8
    --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/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1/ext/sqlite3/gem_make.out

sqlite3.h is located in /usr/include/

sudo gem install sqlite3-ruby --without-sqlite3-include=/usr/include

doesn't work


ERROR:  While executing gem ... (OptionParser::InvalidOption)
    invalid option: --without-sqlite3-include=/usr/include

Ubuntu 10.04

19 Answers

Tried ALL of other solutions, none helped.

It turned out that you also need dev package for ruby itself. For me, it helped

sudo apt-get install ruby-full

It has a lot of nasty dependencies though (like emacs, wtf?), just

sudo apt-get install ruby1.8-dev

should be fine. After it's installed (and you have the sqlite and sqlite-dev packages installed)

sudo gem install sqlite3-ruby

works like a charm.

Had this same problem and the following worked for me:

compile sqlite3 as static library, install somewhere in your home directory and then provide that option for the gem install process.

Go to the download page and grab the source. Most recent version at this time is http://www.sqlite.org/sqlite-autoconf-3070400.tar.gz

tar -xf on the file or do whatever you normally do to uncompress; enter directory

./configure --disable-shared --enable-static --prefix=/some/path/in/my/home

compile, install, and when you're installing the gem...

gem install sqlite3-ruby -- --with-sqlite3-dir=/some/path/in/my/home

None of the above mentioned solution worked for me, even after installing ruby2.5-dev and libsqlite3-dev. Then tried using PostgreSql instead of sqlite. That worked fine. To use PostgreSql instead of sqlite use this command when creating rails project.

rails [_VERSION_] new project_name -d postgresql

If you want to use MySql then use mysql instead of postgresql.

rails [_VERSION_] new project_name -d mysql

Else you can try without sqlite.

bundle install --without sqlite

This is the exact same problem I had a few weeks ago. I found out I needed to download the most recent headers/libraries from the SQLite Download Page. Try it out, hope this helps!

I just downgraded to sqlite3-ruby '1.2.2'

Related