thanks for all the help, I think I am getting closer ... but still
broken ... look for the "---" for my comments
--- tail of the install of sqlite 3.5.4
----------------------------------------------------------------------
/usr/bin/install -c -d /usr/local/bin
./libtool --mode=install /usr/bin/install -c sqlite3 /usr/local/bin
/usr/bin/install -c sqlite3 /usr/local/bin/sqlite3
/usr/bin/install -c -d /usr/local/include
/usr/bin/install -c -m 0644 sqlite3.h /usr/local/include
/usr/bin/install -c -m 0644 ../sqlite-3.5.4/src/sqlite3ext.h
/usr/local/include
/usr/bin/install -c -d /usr/local/lib/pkgconfig;
/usr/bin/install -c -m 0644 sqlite3.pc /usr/local/lib/pkgconfig;
# ls -l /usr/local/lib/libsql*
-rw-r--r-- 1 root root 3221590 Jan 25 20:55 /usr/local/lib/libsqlite3.a
-rwxr-xr-x 1 root root 823 Jan 25 20:55 /usr/local/lib/libsqlite3.la
lrwxrwxrwx 1 root root 19 Jan 25 20:55
/usr/local/lib/libsqlite3.so -> libsqlite3.so.0.8.6
lrwxrwxrwx 1 root root 19 Jan 25 20:55
/usr/local/lib/libsqlite3.so.0 -> libsqlite3.so.0.8.6
-rwxr-xr-x 1 root root 1840520 Jan 25 20:55
/usr/local/lib/libsqlite3.so.0.8.6
--- then when I run the perl makefile:
# SQLITE_LOCATION=/usr/local/lib perl Makefile.PL
Checking installed SQLite version...
Looks good
Multiple copies of Driver.xst found in:
/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi/auto/DBI/
/usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi/auto/DBI/
at Makefile.PL line 140
Using DBI 1.52 (for perl 5.008006 on x86_64-linux-thread-multi)
installed in
/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi/auto/DBI/
Writing Makefile for DBD::SQLite
--- now things get funky when I make
#make
cp lib/DBD/SQLite.pm blib/lib/DBD/SQLite.pm
/usr/bin/perl -p -e "s/~DRIVER~/SQLite/g"
/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi/auto/DBI/Driver.xst
> SQLite.xsi
/usr/bin/perl /usr/lib/perl5/5.8.6/ExtUtils/xsubpp -typemap
/usr/lib/perl5/5.8.6/ExtUtils/typemap SQLite.xs > SQLite.xsc && mv
SQLite.xsc SQLite.c
gcc -c -I.
-I/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi/auto/DBI
-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-I/usr/include/gdbm -O2 -DVERSION=\"1.14\" -DXS_VERSION=\"1.14\" -fPIC
"-I/usr/lib64/perl5/5.8.6/x86_64-linux-thread-multi/CORE" -DSQLITE_CORE
-DSQLITE_ENABLE_FTS2 -DNDEBUG=1 -DSQLITE_PTR_SZ=8 -DHAVE_USLEEP=1 SQLite.c
gcc -c -I.
-I/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi/auto/DBI
-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-I/usr/include/gdbm -O2 -DVERSION=\"1.14\" -DXS_VERSION=\"1.14\" -fPIC
"-I/usr/lib64/perl5/5.8.6/x86_64-linux-thread-multi/CORE" -DSQLITE_CORE
-DSQLITE_ENABLE_FTS2 -DNDEBUG=1 -DSQLITE_PTR_SZ=8 -DHAVE_USLEEP=1 dbdimp.c
Running Mkbootstrap for DBD::SQLite ()
chmod 644 SQLite.bs
rm -f blib/arch/auto/DBD/SQLite/SQLite.so
gcc -shared SQLite.o dbdimp.o -o blib/arch/auto/DBD/SQLite/SQLite.so
-lsqlite3
/usr/bin/ld:
/usr/lib/gcc/x86_64-redhat-linux/4.0.0/../../../../lib64/libsqlite3.a(main.o):
relocation R_X86_64_32 against `a local symbol' can not be used when
making a shared object; recompile with -fPIC
/usr/lib/gcc/x86_64-redhat-linux/4.0.0/../../../../lib64/libsqlite3.a:
could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/DBD/SQLite/SQLite.so] Error 1
#
--- I suspect that it has something to do with this being a 64 bit
processor, I suspect that sqlite 3.5.4 is being bult as a 32 bit image
--- and the perl module is a 64 bit image. and is looking for the 64
bit libs?
Alexander Batyrshin wrote:
if you DBD::SQlite built statically, then it uses it's internal SQLite
If it's linked again libsqlite, you can check it by command ldd on:
# find /usr/lib/perl5/ -name 'SQLite.so'
/usr/lib/perl5/site_perl/5.8.8/i686-linux/auto/DBD/SQLite/SQLite.so
# ldd /usr/lib/perl5/site_perl/5.8.8/i686-linux/auto/DBD/SQLite/SQLite.so
libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0xb7ed7000)
libc.so.6 => /lib/libc.so.6 (0xb7da7000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7d90000)
/lib/ld-linux.so.2 (0x41000000)
On Jan 26, 2008 12:00 AM, Jim Dodgen <[EMAIL PROTECTED]> wrote:
thanks for the education, looks like i have multiple versions floating
around, as seen below I'll blow a way the lib64 version just to
eliminate the confusion.
How do I tell which one is being used?
computer A (this has 3.5.4 installed)
lrwxrwxrwx 1 root root 19 Feb 8 2006 /usr/lib64/libsqlite3.so.0
-> libsqlite3.so.0.8.6
lrwxrwxrwx 1 root root 19 Jan 24 15:59
/usr/local/lib/libsqlite3.so.0 -> libsqlite3.so.0.8.6
computer B (I have not done the upgrade here yet)
lrwxrwxrwx 1 root root 19 May 29 2007 /usr/lib64/libsqlite3.so.0 ->
libsqlite3.so.0.8.6
lrwxrwxrwx 1 root root 19 May 29 2007 /usr/lib/libsqlite3.so.0 ->
libsqlite3.so.0.8.6
lrwxrwxrwx 1 root root 19 Jul 26 2007 /usr/local/lib/libsqlite3.so.0 ->
libsqlite3.so.0.8.6
I think I should clean out all the sqlite libs and bins, is all i have
to delete are sqlite3 and libsqlite3.so.0* on the system?
thanks for the help
Jim
Alexander Batyrshin wrote:
There is two way of compiling DBD::SQLite:
1. to use his own internal version of SQLite
USE_LOCAL_SQLITE=1 perl Maker.pl
2. to use shared library of SQLite
SQLITE_LOCATION=/path/to/libsqlite perl Makefile.pl
So if you install 3.5.4 in /usr/local/lib, you should set
SQLITE_LOCATION=/usr/local/lib/
On Jan 25, 2008 5:13 AM, Jim Dodgen <[EMAIL PROTECTED]> wrote:
I have tend to build the DBD::SQLite from source, when ever I have built
with it looking for sqlite libs it reports a old version older than
3.3.9 or something
and then uses the current 3.4.2 stuff supplied in the module.
I do have 3.5.4 installed, it migh be that there could be a older
version hiding someplace. not sure how to find it or delete it.
I'm on fedora also a RHES
Alexander Batyrshin wrote:
I have no problem with 3.5.4.
Maybe your is linked with libsqlite in other dirrectory?
For example your DBD::SQLite is linked against
/usr/lib/libsqlite3.so.0, and you installed new 3.5.2 into
/usr/local/lib ?
Here is my linking information:
# ldd /usr/lib/perl5/site_perl/5.8.8/i686-linux/auto/DBD/SQLite/SQLite.so
libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0xb7eb7000)
libc.so.6 => /lib/libc.so.6 (0xb7d87000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7d70000)
/lib/ld-linux.so.2 (0x41000000)
On Jan 25, 2008 4:41 AM, Jim Dodgen <[EMAIL PROTECTED]> wrote:
sorry I attached another email by accident, it's content is not related
to my question
Jim
Jim Dodgen wrote:
the latest DBD::SQLite (a Perl module) was buit with 3.4.2 I have
attempted to get a version up to 3.5.2 with no success so far.
anyone have any success yet? If so what is the magic.
Jim
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------