ID: 41794 Updated by: [EMAIL PROTECTED] Reported By: geoffwa at cs dot rmit dot edu dot au -Status: Open +Status: Closed Bug Type: Compile Failure Operating System: Solaris 10 PHP Version: 5.2.3 New Comment:
This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2007-06-25 07:27:48] geoffwa at cs dot rmit dot edu dot au The following patch allows PHP to configure and build successfully: --- php-old/configure.in 2007-05-31 04:45:59.000000000 +1000 +++ php-new/configure.in 2007-06-25 17:16:31.902000000 +1000 @@ -326,4 +326,6 @@ PHP_CHECK_FUNC(dn_skipname, resolv, bind) +dnl I wish Solaris came with a /usr/lib/pkgconfig/normal_base_system.pc +PHP_CHECK_LIBRARY(rt, nanosleep, [PHP_ADD_LIBRARY(rt)], []) dnl Then headers. I used PHP_CHECK_LIBRARY in lieu of PHP_CHEC_FUNC as the later picks up a __nanosleep() symbol from Sun's libc, and ext/standard/basic_functions.c makes use of nanosleep() ------------------------------------------------------------------------ [2007-06-25 05:21:41] geoffwa at cs dot rmit dot edu dot au Description: ------------ The library test for external SQLite3 libraries fails on Solaris 10 as it does not include -lrt and consequently always fails. When building with bundled sqlite3 library, there is a test for -lrt on line 122 of ext/pdo_sqlite/config.m4: dnl Solaris fix PHP_CHECK_LIBRARY(rt, fdatasync, [ PHP_ADD_LIBRARY(rt,, PDO_SQLITE_SHARED_LIBADD)]) This test could be moved so it's usable by both the bundled and non-bundled builds. (I'd offer a patch but my M4 foo is weak) Reproduce code: --------------- shell: ./configure --prefix=/usr/local --with-pdo-sqlite=shared,/usr/local *snip* checking for sqlite 3 support for PDO... yes, shared checking for PDO includes... (cached) /export/work/php-5.2.3/ext checking for sqlite3_open in -lsqlite3... no configure: error: wrong sqlite lib version or lib not found config.log: configure:76889: cc -o conftest -I/usr/include -O -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS -R/usr/local/lib -L/usr/local/lib -L/usr/lib -L/usr/local/ lib -R/usr/local/lib -R/usr/ucblib -L/usr/ucblib -R/usr/local/lib -L/usr/local/lib -lm conftest.c -lsqlite3 -lintl -lbz2 -lz -lpcre -lresolv -lm -lnsl -ls ocket -lxml2 -lz -lm -lsocket -lnsl -lxml2 -lz -lm -lsocket -lnsl 1>&5 Undefined first referenced symbol in file fdatasync /usr/local/lib/libsqlite3.so ld: fatal: Symbol referencing errors. No output written to conftest configure: failed program was: #line 76878 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char sqlite3_open(); int main() { sqlite3_open() ; return 0; } ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41794&edit=1