Skip Menu |

This queue is for tickets about the DBD-SQLite CPAN distribution.

Report information
The Basics
Id: 7246
Status: resolved
Priority: 0/
Queue: DBD-SQLite

People
Owner: Nobody in particular
Requestors: helphand [...] pacbell.net
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 1.02
Fixed in: (no value)



Subject: v 1.02 Continues to Fail to Compile on SuSE 9.1 64 bit
As previously report in bug 7192 for version 1.00, versions 1.01 and 1.02 continue to fail to compile on SuSE 9.1 64-bit. I do not understand why bug 7192 was marked resolved. The pertinent errors are at the end of this display.... helphand@helphand:~/DBD-SQLite-1.02> perl Makefile.PL **** WARNING **** WARNING **** WARNING **** WARNING **** WARNING **** Your version of DBD::SQLite currently installed (0.31) uses the old sqlite database format. This version of DBD::SQLite will *NOT* open these files, and installing this module may cause problems on your system. If this is a live environment you should upgrade with caution. To upgrade a database, download and install both sqlite 2.x and 3.x from http://www.sqlite.org/ and issue: sqlite OLD.DB .dump | sqlite3 NEW.DB DBD::SQLite will NOT automatically upgrade a database for you, and using this version against an old SQLite database WILL lead to database corruption. Continue? [N] Y Checking if your kit is complete... Looks good Using DBI 1.41 (for perl 5.008003 on x86_64-linux-thread-multi) installed in /usr/lib/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi/auto/DBI Writing Makefile for DBD::SQLite helphand@helphand:~/DBD-SQLite-1.02> make cp getsqlite.pl blib/lib/DBD/getsqlite.pl cp lib/DBD/SQLite.pm blib/lib/DBD/SQLite.pm /usr/bin/perl -p -e "s/~DRIVER~/SQLite/g" /usr/lib/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi/auto/DBI/Driver.xst > SQLite.xsi /usr/bin/perl /usr/lib/perl5/5.8.3/ExtUtils/xsubpp -typemap /usr/lib/perl5/5.8.3/ExtUtils/typemap SQLite.xs > SQLite.xsc && mv SQLite.xsc SQLite.c cc -c -I/usr/lib/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DNDEBUG=1 -DSQLITE_PTR_SZ=8 -DVERSION=\"1.02\" -DXS_VERSION=\"1.02\" -fPIC "-I/usr/lib/perl5/5.8.3/x86_64-linux-thread-multi/CORE" SQLite.c In file included from dbdimp.h:7, from SQLiteXS.h:10, from SQLite.xs:3: sqliteInt.h:125: error: parse error before "uptr" sqliteInt.h:125: warning: data definition has no type or storage class SQLite.xsi: In function `XS_DBD__SQLite__db_last_insert_id': SQLite.xsi:238: warning: passing arg 2 of `sqlite_db_last_insert_id' from incompatible pointer type make: *** [SQLite.o] Error 1 helphand@helphand:~/DBD-SQLite-1.02>
Sorry, I closed it because I was having network problems while in Portland for OSCon and so probably hit the wrong button. Do you have any idea how to fix this bug (as I do not)? I assume it's because your libraries have no knowledge of the uptr type. Perhaps on 64bit it's just ptr. Either way, I suspect this is a bug in sqlite itself, rather than this DBD.
[MSERGEANT - Sun Aug 8 10:15:49 2004]: Show quoted text
> Do you have any idea how to fix this bug (as I do not)? I assume it's > because your libraries > have no knowledge of the uptr type. Perhaps on 64bit it's just ptr. > Either way, I suspect this is > a bug in sqlite itself, rather than this DBD.
Matt, you are correct. The source packaged with DBD::SQLite and the curent tarball for SQLIte 3.03 all have a bug that prevents compiling on 64 bit. CVS has the fix, it compiles clean. The bug fixes are http://www.sqlite.org/cvstrac/chngview?cn=1868 and http://www.sqlite.org/cvstrac/chngview?cn=1875 I'll create my own tarball and hack getsqlite.pl to use it as a workaround. Thanks for the follow-up. Scott
From: helphand [...] pacbell.net
[guest - Sun Aug 8 11:09:18 2004]: Well, lots of progress, but I'm still hitting a wall. Using latest CVS for SQLite, I can get DBD::SQLite to compile clean ( I *did* have to update to DBI 1.43, version 1.42 caused the same compile error reported by a BSD user in the resolved bug reports). I cannot get it to pass make test, I get errors complaining about undefined symbol: sqlite3_bind_count (see attached screen dump of the tests). I'm stuck at this point, it's beyond my knowledge where to look next. Any suggestions? Scott
helphand:/home/helphand/DBD-SQLite-1.02 # make test PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00basic...............Can't load '/home/helphand/DBD-SQLite-1.02/blib/arch/auto/DBD/SQLite/SQLite.so' for module DBD::SQLite: /home/helphand/DBD-SQLite-1.02/blib/arch/auto/DBD/SQLite/SQLite.so: undefined symbol: sqlite3_bind_count at /usr/lib/perl5/5.8.3/x86_64-linux-thread-multi/DynaLoader.pm line 229. at t/00basic.t line 4 Compilation failed in require at t/00basic.t line 4. BEGIN failed--compilation aborted at t/00basic.t line 4. t/00basic...............NOK 1# Failed test 1 in t/00basic.t at line 3 # t/00basic.t line 3 is: END { ok($loaded) } t/00basic...............dubious Test returned status 255 (wstat 65280, 0xff00) Scalar found where operator expected at (eval 155) line 1, near "'int' $__val" (Missing operator before $__val?) DIED. FAILED test 1 Failed 1/1 tests, 0.00% okay t/01logon...............install_driver(SQLite) failed: Can't load '/home/helphand/DBD-SQLite-1.02/blib/arch/auto/DBD/SQLite/SQLite.so' for module DBD::SQLite: /home/helphand/DBD-SQLite-1.02/blib/arch/auto/DBD/SQLite/SQLite.so: undefined symbol: sqlite3_bind_count at /usr/lib/perl5/5.8.3/x86_64-linux-thread-multi/DynaLoader.pm line 229. at (eval 1) line 3 Compilation failed in require at (eval 1) line 3. Perhaps a required shared library or dll isn't installed where expected at t/01logon.t line 4 t/01logon...............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-2 Failed 2/2 tests, 0.00% okay t/02cr_table............install_driver(SQLite) failed: Can't load '/home/helphand/DBD-SQLite-1.02/blib/arch/auto/DBD/SQLite/SQLite.so' for module DBD::SQLite: /home/helphand/DBD-SQLite-1.02/blib/arch/auto/DBD/SQLite/SQLite.so: undefined symbol: sqlite3_bind_count at /usr/lib/perl5/5.8.3/x86_64-linux-thread-multi/DynaLoader.pm line 229. at (eval 1) line 3 Compilation failed in require at (eval 1) line 3. Perhaps a required shared library or dll isn't installed where expected at t/02cr_table.t line 6 t/02cr_table............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-4 Failed 4/4 tests, 0.00% okay t/03insert..............install_driver(SQLite) failed: Can't load '/home/helphand/DBD-SQLite-1.02/blib/arch/auto/DBD/SQLite/SQLite.so' for module DBD::SQLite: /home/helphand/DBD-SQLite-1.02/blib/arch/auto/DBD/SQLite/SQLite.so: undefined symbol: sqlite3_bind_count at /usr/lib/perl5/5.8.3/x86_64-linux-thread-multi/DynaLoader.pm line 229. at (eval 1) line 3 Compilation failed in require at (eval 1) line 3. Perhaps a required shared library or dll isn't installed where expected at t/03insert.t line 4 t/03insert..............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-10 Failed 10/10 tests, 0.00% okay t/04select..............install_driver(SQLite) failed: Can't load '/home/helphand/DBD-SQLite-1.02/blib/arch/auto/DBD/SQLite/SQLite.so' for module DBD::SQLite: /home/helphand/DBD-SQLite-1.02/blib/arch/auto/DBD/SQLite/SQLite.so: undefined symbol: sqlite3_bind_count at /usr/lib/perl5/5.8.3/x86_64-linux-thread-multi/DynaLoader.pm line 229. at (eval 1) line 3 Compilation failed in require at (eval 1) line 3. Perhaps a required shared library or dll isn't installed where expected at t/04select.t line 4 t/04select..............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-7 Failed 7/7 tests, 0.00% okay t/05tran................install_driver(SQLite) failed: Can't load '/home/helphand/DBD-SQLite-1.02/blib/arch/auto/DBD/SQLite/SQLite.so' for module DBD::SQLite: /home/helphand/DBD-SQLite-1.02/blib/arch/auto/DBD/SQLite/SQLite.so: undefined symbol: sqlite3_bind_count at /usr/lib/perl5/5.8.3/x86_64-linux-thread-multi/DynaLoader.pm line 229. at (eval 1) line 3 Compilation failed in require at (eval 1) line 3. Perhaps a required shared library or dll isn't installed where expected at t/05tran.t line 5 t/05tran................dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-2 Failed 2/2 tests, 0.00% okay t/06error...............install_driver(SQLite) failed: Can't load '/home/helphand/DBD-SQLite-1.02/blib/arch/auto/DBD/SQLite/SQLite.so' for module DBD::SQLite: /home/helphand/DBD-SQLite-1.02/blib/arch/auto/DBD/SQLite/SQLite.so: undefined symbol: sqlite3_bind_count at /usr/lib/perl5/5.8.3/x86_64-linux-thread-multi/DynaLoader.pm line 229. at (eval 1) line 3 Compilation failed in require at (eval 1) line 3. Perhaps a required shared library or dll isn't installed where expected at t/06error.t line 6 t/06error...............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-2 Failed 2/2 tests, 0.00% okay t/08create_function.....install_driver(SQLite) failed: Can't load '/home/helphand/DBD-SQLite-1.02/blib/arch/auto/DBD/SQLite/SQLite.so' for module DBD::SQLite: /home/helphand/DBD-SQLite-1.02/blib/arch/auto/DBD/SQLite/SQLite.so: undefined symbol: sqlite3_bind_count at /usr/lib/perl5/5.8.3/x86_64-linux-thread-multi/DynaLoader.pm line 229. at (eval 1) line 3 Compilation failed in require at (eval 1) line 3. Perhaps a required shared library or dll isn't installed where expected at t/08create_function.t line 47 t/08create_function.....dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-18 Failed 18/18 tests, 0.00% okay t/09create_aggregate....install_driver(SQLite) failed: Can't load '/home/helphand/DBD-SQLite-1.02/blib/arch/auto/DBD/SQLite/SQLite.so' for module DBD::SQLite: /home/helphand/DBD-SQLite-1.02/blib/arch/auto/DBD/SQLite/SQLite.so: undefined symbol: sqlite3_bind_count at /usr/lib/perl5/5.8.3/x86_64-linux-thread-multi/DynaLoader.pm line 229. at (eval 1) line 3 Compilation failed in require at (eval 1) line 3. Perhaps a required shared library or dll isn't installed where expected at t/09create_aggregate.t line 69 t/09create_aggregate....dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-15 Failed 15/15 tests, 0.00% okay t/10dsnlist.............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-3 Failed 3/3 tests, 0.00% okay t/20createdrop..........dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-5 Failed 5/5 tests, 0.00% okay t/30insertfetch.........dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-17 Failed 17/17 tests, 0.00% okay t/40bindparam...........dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-28 Failed 28/28 tests, 0.00% okay t/40blobs...............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-13 Failed 13/13 tests, 0.00% okay t/40listfields..........dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-13 Failed 13/13 tests, 0.00% okay t/40nulls...............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-11 Failed 11/11 tests, 0.00% okay t/40numrows.............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-22 Failed 22/22 tests, 0.00% okay t/50chopblanks..........dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-35 Failed 35/35 tests, 0.00% okay t/50commit..............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-30 Failed 30/30 tests, 0.00% okay t/60metadata............install_driver(SQLite) failed: Can't load '/home/helphand/DBD-SQLite-1.02/blib/arch/auto/DBD/SQLite/SQLite.so' for module DBD::SQLite: /home/helphand/DBD-SQLite-1.02/blib/arch/auto/DBD/SQLite/SQLite.so: undefined symbol: sqlite3_bind_count at /usr/lib/perl5/5.8.3/x86_64-linux-thread-multi/DynaLoader.pm line 229. at (eval 1) line 3 Compilation failed in require at (eval 1) line 3. Perhaps a required shared library or dll isn't installed where expected at t/60metadata.t line 4 t/60metadata............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-25 Failed 25/25 tests, 0.00% okay t/90cppcomments.........ok t/99cleanup.............NOK 1# Failed test 1 in t/99cleanup.t at line 3 # t/99cleanup.t line 3 is: ok(-e 'foo'); t/99cleanup.............FAILED test 1 Failed 1/2 tests, 50.00% okay t/ak-dbd................dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-49 Failed 49/49 tests, 0.00% okay t/dbdadmin..............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-4 Failed 4/4 tests, 0.00% okay Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/00basic.t 255 65280 1 1 100.00% 1 t/01logon.t 255 65280 2 4 200.00% 1-2 t/02cr_table.t 255 65280 4 8 200.00% 1-4 t/03insert.t 255 65280 10 20 200.00% 1-10 t/04select.t 255 65280 7 14 200.00% 1-7 t/05tran.t 255 65280 2 4 200.00% 1-2 t/06error.t 255 65280 2 4 200.00% 1-2 t/08create_function.t 255 65280 18 36 200.00% 1-18 t/09create_aggregate.t 255 65280 15 30 200.00% 1-15 t/10dsnlist.t 255 65280 3 6 200.00% 1-3 t/20createdrop.t 255 65280 5 10 200.00% 1-5 t/30insertfetch.t 255 65280 17 34 200.00% 1-17 t/40bindparam.t 255 65280 28 56 200.00% 1-28 t/40blobs.t 255 65280 13 26 200.00% 1-13 t/40listfields.t 255 65280 13 26 200.00% 1-13 t/40nulls.t 255 65280 11 22 200.00% 1-11 t/40numrows.t 255 65280 22 44 200.00% 1-22 t/50chopblanks.t 255 65280 35 70 200.00% 1-35 t/50commit.t 255 65280 30 60 200.00% 1-30 t/60metadata.t 255 65280 25 50 200.00% 1-25 t/99cleanup.t 2 1 50.00% 1 t/ak-dbd.t 255 65280 49 98 200.00% 1-49 t/dbdadmin.t 255 65280 4 8 200.00% 1-4 Failed 23/24 test scripts, 4.17% okay. 317/356 subtests failed, 10.96% okay. make: *** [test_dynamic] Error 255 helphand:/home/helphand/DBD-SQLite-1.02 #
[guest - Sun Aug 8 15:26:33 2004]: Show quoted text
> [guest - Sun Aug 8 11:09:18 2004]: > > Well, lots of progress, but I'm still hitting a wall. Using latest CVS > for SQLite, I can get DBD::SQLite to compile clean ( I *did* have to > update to DBI 1.43, version 1.42 caused the same compile error reported > by a BSD user in the resolved bug reports). > > I cannot get it to pass make test, I get errors complaining about > undefined symbol: sqlite3_bind_count (see attached screen dump of the > tests).
Just change that reference in dbdimp.c to sqlite3_bind_parameter_count(...). The sqlite3_bind_count was something I added to sqlite to get DBD::SQLite to work, but Richard Hipp renamed it to sqlite3_bind_parameter_count() when he integrated it into sqlite.
[MSERGEANT - Sun Aug 8 15:42:28 2004]: Show quoted text
> > Just change that reference in dbdimp.c to > sqlite3_bind_parameter_count(...). The > sqlite3_bind_count was something I added to sqlite to get DBD::SQLite > to work, but Richard > Hipp renamed it to sqlite3_bind_parameter_count() when he integrated > it into sqlite.
Bingo, that's it! Success!!!!!! All tests pass!!! Thank-you for helping me solve this! Scott helphand:/home/helphand/DBD-SQLite-1.02 # make test PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00basic...............ok t/01logon...............ok t/02cr_table............ok t/03insert..............ok t/04select..............ok t/05tran................ok t/06error...............ok t/08create_function.....ok t/09create_aggregate....ok t/10dsnlist.............ok t/20createdrop..........ok t/30insertfetch.........ok t/40bindparam...........ok t/40blobs...............ok t/40listfields..........ok t/40nulls...............ok t/40numrows.............ok t/50chopblanks..........ok t/50commit..............ok t/60metadata............ok t/90cppcomments.........ok t/99cleanup.............ok t/ak-dbd................ok t/dbdadmin..............ok All tests successful. Files=24, Tests=356, 7 wallclock secs ( 0.92 cusr + 0.21 csys = 1.13 CPU) helphand:/home/helphand/DBD-SQLite-1.02 #