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.