Hi,
I resolved an issue on Solaris (10)...
When I tried (using Ruby 1.8.4) to run 'setup.rb config' on Solaris 10 I saw:
% 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 /l/p/sqlite/sqlite3-ruby-1.1.0/ext/sqlite3_api/extconf.rb
checking for sqlite3.h... yes
checking for sqlite3_open() in -lsqlite3... no
*** /l/p/sqlite/sqlite3-ruby-1.1.0/ext/sqlite3_api/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=/l/p/sqlite/sqlite3-ruby-1.1.0/ext/sqlite3_api
--curdir
--ruby=/usr/local/bin/ruby
--with-sqlite3-dir
--without-sqlite3-dir
--with-sqlite3-include
--without-sqlite3-include=${sqlite3-dir}/include
--with-sqlite3-lib
--without-sqlite3-lib=${sqlite3-dir}/lib
--with-sqlite3lib
--without-sqlite3lib
'system /usr/local/bin/ruby
/l/p/sqlite/sqlite3-ruby-1.1.0/ext/sqlite3_api/extconf.rb ' failed
Try 'ruby setup.rb --help' for detailed usage.
----> Wild ....
----> So looking in the ....
% more ext/sqlite3_api/mkmf.log
have_header: checking for sqlite3.h... -------------------- yes
"gcc -E -I. -I/usr/local/lib/ruby/1.8/sparc-solaris2.10
-I/usr/local/include -g -O2 conftest.c -o conftest.i"
checked program was:
/* begin */
#include <sqlite3.h>
/* end */
--------------------
have_library: checking for sqlite3_open() in -lsqlite3...
-------------------- no
"gcc -o conftest -I. -I/usr/local/lib/ruby/1.8/sparc-solaris2.10
-I/usr/local/include -g -O2 conftest.c -L'/usr/local/lib'
-Wl,-R'/usr/local/lib' -L'/usr/local/lib' -Wl,-R'/usr/local/lib'
-lruby-static -lsqlite3 -ldl -lcrypt -lm -lc"
Undefined first referenced
symbol in file
fdatasync /usr/local/lib/libsqlite3.so
ld: fatal: Symbol referencing errors. No output written to conftest
collect2: ld returned 1 exit status
checked program was:
/* begin */
/*top*/
int main() { return 0; }
int t() { sqlite3_open(); return 0; }
/* end */
"gcc -o conftest -I. -I/usr/local/lib/ruby/1.8/sparc-solaris2.10
-I/usr/local/include -g -O2 conftest.c -L'/usr/local/lib'
-Wl,-R'/usr/local/lib' -L'/usr/local/lib' -Wl,-R'/usr/local/lib'
-lruby-static -lsqlite3 -ldl -lcrypt -lm -lc"
conftest.c: In function `t':
conftest.c:5: error: `sqlite3_open' undeclared (first use in this function)
conftest.c:5: error: (Each undeclared identifier is reported only once
conftest.c:5: error: for each function it appears in.)
checked program was:
/* begin */
/*top*/
int main() { return 0; }
int t() { void ((*volatile p)()); p = (void ((*)()))sqlite3_open; return 0; }
/* end */
--------------------
----> The ld/link failed... on symbol fdatasync
I resolved this by:
% export LD_OPTIONS="-lposix4"
% 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 /l/p/sqlite/sqlite3-ruby-1.1.0/ext/sqlite3_api/extconf.rb
checking for sqlite3.h... yes
checking for sqlite3_open() in -lsqlite3... yes
creating Makefile
<--- ext/sqlite3_api
<--- ext
Now all seems well and there's no undefined symbol for fdatasync
Still... I need to test the end result for working functionality, but I wanted
to pass on this information...
Not sure if this is a build bug or just a piece of voodoo needed on
Solaris (10).
Anyone care to comment?
Thanks.
Stephen
--
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------