Cannot find header-files

I am working here on Solaris and i have ruby-installation.
One installation is local, self-compiled and with that version
everything is working fine.
I also have a system-installation and with that ruby-version i cannot
find header files.

For example installing the gem sqlite3-ruby

gem install sqlite3-ruby -- --with-sqlite3-include=/home/xyz/
(sqlite3.h is in home folder) and thats working.
Same command with the system ruby, i get that it cannot find the
sqlite3.h error.

According to the admin, the dev-files for ruby are installed (maybe

thanks skully

Did you check a mkmf.log file under the gem path?


have_header: checking for sqlite3.h… -------------------- no

not working:
“/opt/studio/SOS11/SUNWspro/bin/cc -E -I.
-I/opt/csw/lib/ruby/1.8/sparc-solaris2.8 -I. -I/home/ssk
-I/opt/csw/include -D_FILE_OFFSET_BITS=64 -I/opt/csw/include -xO3
-xarch=v8 -I/opt/csw/include -KPIC conftest.c -o conftest.i”

“gcc -E -I. -I/home/ssk/ruby/lib/ruby/1.8/sparc-solaris2.10 -I.
-I/home/ssk -D_FILE_OFFSET_BITS=64 -g -O2 conftest.c -o conftest.i”

By the looks of it, it seems to use a different compiler, how can i
change that?

May there is a ‘Makefile’ in the directory,
GEM_HOME/gems/sqlite3-ruby-x.x.x/ext/, so you can figure out that file
to set CC and CFLAGS for your environment.

It seems like ‘mkmf’ is using CC which used to compiling her base
ruby. I also got similar errors last one month, so I did edit Makefile
and make extension directly and then install gems via setup.rb

I did,

  1. figure out Makefile
    $ vi sqlite3-ruby-x.x.x/ext/sqlite3_api/Makefile

  2. compile extension. go to sqlite3-ruby-x.x.x/ext/sqlite3_api. and
    $ ruby extconf.rb (you can use --with-NAME-include or lib. this will
    work fine.)
    $ make
    $ make install

  3. go to root of sqlite3-ruby. install gem directly,
    $ ruby setup.rb all --without-ext

  4. all done.

but be careful. this gem will not controlled under gem system. you can
build gem also, not use setup.rb, if you want.

my english is very poor, but I think you can very well. :slight_smile: