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]
-----------------------------------------------------------------------------

Reply via email to