From: Eddie Catflap Date: 2007-09-04T01:17:56+09:00 Subject: Re: SQLIte3 DL driver deprecated, how to use native? ------=_Part_19160_9533595.1188836272070 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Here's how I resolved this and managed to get the native driver to compile, for anyone who's interested. I went down the route of removing all gems, rubygems and ruby itself, then reinstalled ruby from source (not the prebuilt package from sunfreeware). Then reinstalled rubygems and all the gems I had before. The sqlite3-ruby gem however would not even compile the ruby driver once I'd done that! Completed failed - So I downloaded the source and went down the ruby setup.rb config route: bash-3.00# ruby setup.rb config ---> lib ---> lib/sqlite3 ---> lib/sqlite3/driver ---> lib/sqlite3/driver/dl <--- lib/sqlite3/driver/dl ---> lib/sqlite3/driver/native <--- lib/sqlite3/driver/native <--- lib/sqlite3/driver <--- lib/sqlite3 <--- lib ---> ext ---> ext/sqlite3_api /usr/local/bin/ruby /var/tmp/sqlite3-ruby-1.2.1/ext/sqlite3_api/extconf.rb checking for sqlite3.h... yes checking for sqlite3_open() in -lsqlite3... no ---> ext/sqlite3_api/win32 <--- ext/sqlite3_api/win32 <--- ext/sqlite3_api <--- ext The next step failed however: bash-3.00# ruby setup.rb setup ---> lib ---> lib/sqlite3 ---> lib/sqlite3/driver ---> lib/sqlite3/driver/dl <--- lib/sqlite3/driver/dl ---> lib/sqlite3/driver/native <--- lib/sqlite3/driver/native <--- lib/sqlite3/driver <--- lib/sqlite3 <--- lib ---> ext ---> ext/sqlite3_api make make: *** No rule to make target `ruby.h', needed by `sqlite3_api_wrap.o'. Stop. 'system make ' failed Try 'ruby setup.rb --help' for detailed usage. After much wailing and gnashing of teeth I came across the following url: http://readlist.com/lists/sqlite.org/sqlite-users/0/4442.html Where a Mr Stephen Fitch described his (similar, but not exact) problem with the package on Solaris 10. His solution was to export LD_OPTIONS="-lposix4" before running ruby setup.rb config etc, so I tried it.. and it worked! bash-3.00# ruby setup.rb config ---> lib ---> lib/sqlite3 ---> lib/sqlite3/driver ---> lib/sqlite3/driver/dl <--- lib/sqlite3/driver/dl ---> lib/sqlite3/driver/native <--- lib/sqlite3/driver/native <--- lib/sqlite3/driver <--- lib/sqlite3 <--- lib ---> ext ---> ext/sqlite3_api /usr/local/bin/ruby /var/tmp/sqlite3-ruby-1.2.1/ext/sqlite3_api/extconf.rb checking for sqlite3.h... yes checking for sqlite3_open() in -lsqlite3... yes creating Makefile ---> ext/sqlite3_api/win32 <--- ext/sqlite3_api/win32 <--- ext/sqlite3_api <--- ext bash-3.00# ruby setup.rb setup ---> lib ---> lib/sqlite3 ---> lib/sqlite3/driver ---> lib/sqlite3/driver/dl <--- lib/sqlite3/driver/dl ---> lib/sqlite3/driver/native <--- lib/sqlite3/driver/native <--- lib/sqlite3/driver <--- lib/sqlite3 <--- lib ---> ext ---> ext/sqlite3_api make gcc -I. -I. -I/usr/local/lib/ruby/1.8/sparc-solaris2.10 -I/var/tmp/sqlite3- ruby-1.2.1/ext/sqlite3_api -DHAVE_SQLITE3_H -I/usr/local/include -fPIC -g -O2 -c sqlite3_api_wrap.c gcc -shared -L'/usr/local/lib' -Wl,-R'/usr/local/lib' -L'/usr/local/lib' -Wl,-R'/usr/local/lib' -o sqlite3_api.so sqlite3_api_wrap.o -lsqlite3 -ldl -lcrypt -lm -lc ---> ext/sqlite3_api/win32 <--- ext/sqlite3_api/win32 <--- ext/sqlite3_api <--- ext After that it was just a case of ruby setup.rb install, test it out and.. no more 'deprecated' warnings. So thanks to Mr Fitch, wherever you may be. ------=_Part_19160_9533595.1188836272070--