In one of my less-than-brilliant moments, I compiled and installed
Sqlite 3.3.3 on my Fedora Core 4 (x86_64) system without checking
whether an earlier version had been installed by the distro's anaconda
installation program. It appears that SQLite 3.1.2 comes with Fedora
Core 4. Ooops. In fact, it looks like I've been doing this since
December 23 with earlier builds of SQLite such as 3.2.7 and later.
Here is one result of such folly:
I'm getting this configure error while attempting to compile the
snapshot-of-the-moment of PHP6 (200602040133 from snaps.php.net) with
SQLite 3.3.3:
configure:79644: checking for sqlite support
configure:79690: checking whether to enable UTF-8 support in sqlite
(default: ISO-8859-1)
configure:79721: checking for PDO includes
configure:79872: checking for sqlite_open in -lsqlite
configure:79891: gcc -o conftest -I/usr/include -g -O2
-Wl,-rpath,/usr/lib64/lib64 -L/usr/lib64/lib64 -L/usr/lib64
-L/usr/lib64 -Wl,-rpath,/usr/local/lib -L/usr/local/lib
-Wl,-rpath,/usr/kerberos/lib -L/usr/kerberos/lib
-Wl,-rpath,/usr/kerberos/lib64 -L/usr/kerberos/lib64 -lm conftest.c
-lsqlite -laspell -lpspell -lrt -lgmp -lfreetype -lpng -lz -ljpeg
-ldb-4.3 -ldb-4.3 -lgdbm -lcurl -lbz2 -lz -lresolv -lm -ldl -lnsl -lm
-licui18n -licuuc -licudata -lm -licuio -lxml2 -lz -lm -lgssapi_krb5
-lkrb5 -lk5crypto -lcom_err -lssl -lcrypto -lgssapi_krb5 -lkrb5
-lcom_err -lk5crypto -lresolv -ldl -lz -lcurl -lssl -lcrypto
-lgssapi_krb5 -lkrb5 -lcom_err -lk5crypto -lresolv -ldl -lz
-lgssapi_krb5 -lkrb5 -lk5crypto -lkrb5support -lcom_err -lresolv -lidn
-lssl -lcrypto -lz -lxml2 -lz -lm -lssl -lcrypto -lgssapi_krb5 -lkrb5
-lcom_err -lk5crypto -lresolv -ldl -lz -lxml2 -lz -lm -lxml2 -lz -lm 1>&5
/usr/bin/ld: cannot find -lsqlite
collect2: ld returned 1 exit status
configure: failed program was:
#line 79880 "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 sqlite_open();
int main() {
sqlite_open()
; return 0; }
The configure script emits this message:
configure: error: wrong sqlite lib version or lib not found
I built SQLite 3.3.3 using these configure options:
../configure --libdir=/usr/lib64 --includedir=/usr/include
--with-tcl=/usr/lib64 --enable-threadsafe --with-utf8
/usr/lib64 contains these SQLite libraries:
[EMAIL PROTECTED] php6.0-200602040133]$ ls -al /usr/lib64/*sqlit*
-rw-r--r-- 1 root root 2371476 Feb 3 17:54 /usr/lib64/libsqlite3.a
-rwxr-xr-x 1 root root 831 Feb 3 17:54 /usr/lib64/libsqlite3.la
lrwxrwxrwx 1 root root 19 Feb 3 17:54 /usr/lib64/libsqlite3.so ->
libsqlite3.so.0.8.6
lrwxrwxrwx 1 root root 19 Feb 3 17:54 /usr/lib64/libsqlite3.so.0
-> libsqlite3.so.0.8.6
-rwxr-xr-x 1 root root 1365463 Feb 3 17:54 /usr/lib64/libsqlite3.so.0.8.6
Here is /usr/bin:
[EMAIL PROTECTED] php6.0-200602040133]$ ls -al /usr/bin/sqlite3
-rwxr-xr-x 1 root root 37480 Apr 10 2005 /usr/bin/sqlite3
And here is /usr/local/bin:
[EMAIL PROTECTED] php6.0-200602040133]$ ls -al /usr/local/bin/sqlite3
-rwxr-xr-x 1 root root 76092 Feb 3 17:54 /usr/local/bin/sqlite3
What is the best way to fix this problem? Build a new rpm package
containing SQLite-3.3.3 and install that, or find the binary modules
from version 3.1.2 and manually overwrite them with the same 3.3.3 binaries?
Thanks
Bob Cochran