Skip Menu |

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

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

People
Owner: Nobody in particular
Requestors: HMBRAND [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Unimportant
Broken in: 0.18
Fixed in: (no value)



Subject: Systems without dlfcn.h won't build/test
I tested DBD::SQLite-1.20 on HP-UX 10.20, but the `problem' exists for longer Ok, HP-UX 10.20 is dead, but people still ask me to build for it, so I keep checking modules on it. One cannot build DBD::SQLite because of some missing dynamic loading functionality (at least for this module) and will show this error: cpp: "os_unix.c", line 3887: error 4036: Can't open include file 'dlfcn.h'. That can be `fixed' by adding -DSQLITE_OMIT_LOAD_EXTENSION to the CFLAGS Now DBD::SQLite builds and links fine. You can only test by disabling the PERL_DL_NONLAZY, but I've seen that with many other modules before, so I'm not frightened away by that. 05 hangs after ok 15 09 hangs after ok 17 14 hangs after ok 1 Rest: DBD-SQLite-1.20 153 > /pro/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/{0[1234678],1[02356789], [239],rt}* t/01_compile.t ........................... 1/4 # $DBI::VERSION=1.607 t/01_compile.t ........................... ok t/02_logon.t ............................. 1/6 # sqlite_version=3.6.12 t/02_logon.t ............................. ok t/03_create_table.t ...................... ok t/04_insert.t ............................ ok t/06_tran.t .............................. ok t/07_error.t ............................. ok t/08_busy.t .............................. ok t/10_create_aggregate.t .................. ok t/12_unicode.t ........................... ok t/13_create_collation.t .................. ok t/15_ak_dbd.t ............................ ok t/16_column_info.t ....................... ok t/17_createdrop.t ........................ ok t/18_insertfetch.t ....................... ok t/19_bindparam.t ......................... ok t/20_blobs.t ............................. ok t/21_blobtext.t .......................... ok t/22_listfields.t ........................ ok t/23_nulls.t ............................. ok t/24_numrows.t ........................... ok t/25_chopblanks.t ........................ ok t/26_commit.t ............................ ok t/27_metadata.t .......................... ok t/28_schemachange.t ...................... ok t/29_cppcomments.t ....................... ok t/30_auto_rollback.t ..................... ok t/31_bind_weird_number_param.t ........... ok t/97_meta.t .............................. skipped: Author tests not required for installation t/98_pod.t ............................... skipped: Author tests not required for installation t/99_pmv.t ............................... skipped: Author tests not required for installation t/rt_15186_prepcached.t .................. ok t/rt_21406_auto_finish.t ................. ok t/rt_25371_asymmetric_unicode.t .......... skipped: Temporarily disabling known-bad test t/rt_25460_numeric_aggregate.t ........... ok t/rt_27553_prepared_cache_and_analyze.t .. ok t/rt_29058_group_by.t .................... ok t/rt_29629_sqlite_where_length.t ......... ok t/rt_31324_full_names.t .................. ok t/rt_32889_prepare_cached_reexecute.t .... ok t/rt_36836_duplicate_key.t ............... ok t/rt_36838_unique_and_bus_error.t ........ ok t/rt_40594_nullable.t .................... ok All tests successful. Files=42, Tests=578, 59 wallclock secs ( 3.06 usr 0.33 sys + 26.26 cusr 2.59 csys = 32.24 CPU) Result: PASS DBD-SQLite-1.20 154 > prove -vb t/05_select.t t/05_select.t .. 1..21 ok 1 - The object isa DBI::db ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 - Check num_rows (1) == 1 ok 15 ^C DBD-SQLite-1.20 155 > prove -vb t/09_create_function.t t/09_create_function.t .. 1..18 ok 1 - The object isa DBI::db ok 2 - Got a result ok 3 - SELECT add2(1,3) ok 4 - SELECT add2(a,b) FROM func_test ok 5 - SELECT my_sum( '2', 3, 4, '5') ok 6 ok 7 ok 8 - SELECT void_return( 'I died' ) ok 9 - SELECT return_null() ok 10 - SELECT return2() ok 11 - SELECT my_defined(1) ok 12 - SELECT my_defined('') ok 13 - SELECT my_defined('abc') ok 14 - SELECT my_defined(NULL) ok 15 - SELECT noop(NULL) ok 16 - SELECT noop(1) ok 17 - SELECT noop('') ^C DBD-SQLite-1.20 156 > prove -vb t/14_progress_handler.t t/14_progress_handler.t .. 1..3 ok 1 - The object isa DBI::db ^C To check if -DSQLITE_OMIT_LOAD_EXTENSION would cause the same on a normally well-behaving box, I added that in Makefile, built again and all tests passed when PERL_LD_NONLAZY was removed. The only thing I could suggest for now is to detect that dlfcn.h cannot be found, and automatically set -DSQLITE_OMIT_LOAD_EXTENSION and remove PERL_LD_NONLAZY=1. And maybe mention it in the docs. I marked the bug unimportant, as 10.20 is dead. Dead as a doornail.
Resolved in 1.22_05. On Wed Apr 08 02:19:17 2009, HMBRAND wrote: Show quoted text
> I tested DBD::SQLite-1.20 on HP-UX 10.20, but the `problem' exists
for Show quoted text
> longer > > Ok, HP-UX 10.20 is dead, but people still ask me to build for it, so I > keep checking modules on it. > > One cannot build DBD::SQLite because of some missing dynamic loading > functionality (at least for this module) and will show this error: > > cpp: "os_unix.c", line 3887: error 4036: Can't open include file > 'dlfcn.h'. > > That can be `fixed' by adding -DSQLITE_OMIT_LOAD_EXTENSION to the
CFLAGS Show quoted text
> Now DBD::SQLite builds and links fine. You can only test by disabling > the > PERL_DL_NONLAZY, but I've seen that with many other modules before,
so Show quoted text
> I'm > not frightened away by that. > > 05 hangs after ok 15 > 09 hangs after ok 17 > 14 hangs after ok 1 > > Rest: > > DBD-SQLite-1.20 153 > /pro/bin/perl "-MExtUtils::Command::MM" "-e" > "test_harness(0, 'blib/lib', 'blib/arch')" t/{0[1234678],1[02356789], > [239],rt}* > t/01_compile.t ........................... 1/4 # $DBI::VERSION=1.607 > t/01_compile.t ........................... ok > t/02_logon.t ............................. 1/6 # sqlite_version=3.6.12 > t/02_logon.t ............................. ok > t/03_create_table.t ...................... ok > t/04_insert.t ............................ ok > t/06_tran.t .............................. ok > t/07_error.t ............................. ok > t/08_busy.t .............................. ok > t/10_create_aggregate.t .................. ok > t/12_unicode.t ........................... ok > t/13_create_collation.t .................. ok > t/15_ak_dbd.t ............................ ok > t/16_column_info.t ....................... ok > t/17_createdrop.t ........................ ok > t/18_insertfetch.t ....................... ok > t/19_bindparam.t ......................... ok > t/20_blobs.t ............................. ok > t/21_blobtext.t .......................... ok > t/22_listfields.t ........................ ok > t/23_nulls.t ............................. ok > t/24_numrows.t ........................... ok > t/25_chopblanks.t ........................ ok > t/26_commit.t ............................ ok > t/27_metadata.t .......................... ok > t/28_schemachange.t ...................... ok > t/29_cppcomments.t ....................... ok > t/30_auto_rollback.t ..................... ok > t/31_bind_weird_number_param.t ........... ok > t/97_meta.t .............................. skipped: Author tests not > required for installation > t/98_pod.t ............................... skipped: Author tests not > required for installation > t/99_pmv.t ............................... skipped: Author tests not > required for installation > t/rt_15186_prepcached.t .................. ok > t/rt_21406_auto_finish.t ................. ok > t/rt_25371_asymmetric_unicode.t .......... skipped: Temporarily > disabling known-bad test > t/rt_25460_numeric_aggregate.t ........... ok > t/rt_27553_prepared_cache_and_analyze.t .. ok > t/rt_29058_group_by.t .................... ok > t/rt_29629_sqlite_where_length.t ......... ok > t/rt_31324_full_names.t .................. ok > t/rt_32889_prepare_cached_reexecute.t .... ok > t/rt_36836_duplicate_key.t ............... ok > t/rt_36838_unique_and_bus_error.t ........ ok > t/rt_40594_nullable.t .................... ok > All tests successful. > Files=42, Tests=578, 59 wallclock secs ( 3.06 usr 0.33 sys + 26.26 > cusr 2.59 csys = 32.24 CPU) > Result: PASS > > DBD-SQLite-1.20 154 > prove -vb t/05_select.t > t/05_select.t .. > 1..21 > ok 1 - The object isa DBI::db > ok 2 > ok 3 > ok 4 > ok 5 > ok 6 > ok 7 > ok 8 > ok 9 > ok 10 > ok 11 > ok 12 > ok 13 > ok 14 - Check num_rows (1) == 1 > ok 15 > ^C > > DBD-SQLite-1.20 155 > prove -vb t/09_create_function.t > t/09_create_function.t .. > 1..18 > ok 1 - The object isa DBI::db > ok 2 - Got a result > ok 3 - SELECT add2(1,3) > ok 4 - SELECT add2(a,b) FROM func_test > ok 5 - SELECT my_sum( '2', 3, 4, '5') > ok 6 > ok 7 > ok 8 - SELECT void_return( 'I died' ) > ok 9 - SELECT return_null() > ok 10 - SELECT return2() > ok 11 - SELECT my_defined(1) > ok 12 - SELECT my_defined('') > ok 13 - SELECT my_defined('abc') > ok 14 - SELECT my_defined(NULL) > ok 15 - SELECT noop(NULL) > ok 16 - SELECT noop(1) > ok 17 - SELECT noop('') > ^C > > DBD-SQLite-1.20 156 > prove -vb t/14_progress_handler.t > t/14_progress_handler.t .. > 1..3 > ok 1 - The object isa DBI::db > ^C > > To check if -DSQLITE_OMIT_LOAD_EXTENSION would cause the same on a > normally > well-behaving box, I added that in Makefile, built again and all
tests Show quoted text
> passed > when PERL_LD_NONLAZY was removed. > > The only thing I could suggest for now is to detect that dlfcn.h
cannot Show quoted text
> be > found, and automatically set -DSQLITE_OMIT_LOAD_EXTENSION and remove > PERL_LD_NONLAZY=1. And maybe mention it in the docs. > > I marked the bug unimportant, as 10.20 is dead. Dead as a doornail.