Erata to my previous request.
nm looks like the following:
nm /usr/src/packages/SOURCES/DBD-DB2-0.76/blib/arch/auto/DBD/DB2/DB2.so
0000000000014330 d FileOptions.0
000000000000b2f8 t GetTrimmedSpaceLen
0000000000014338 d NullIndicator.1
U PerlIO_printf
U Perl_Gthr_key_ptr
U Perl_Isv_no_ptr
U Perl_Isv_undef_ptr
U Perl_Isv_yes_ptr
U Perl_Tdirty_ptr
U Perl_Tmarkstack_ptr_ptr
U Perl_Tna_ptr
U Perl_Tstack_base_ptr
U Perl_Tstack_max_ptr
U Perl_Tstack_sp_ptr
U Perl_av_len
U Perl_av_pop
U Perl_av_push
U Perl_av_store
U Perl_croak
U Perl_croak_nocontext
U Perl_form
U Perl_get_sv
U Perl_hv_delete
U Perl_hv_exists
U Perl_hv_fetch
U Perl_hv_iterinit
U Perl_hv_iternextsv
U Perl_hv_store
U Perl_mg_get
U Perl_mg_size
U Perl_newAV
U Perl_newHV
U Perl_newRV
U Perl_newRV_noinc
U Perl_newSV
U Perl_newSViv
U Perl_newSVpv
U Perl_newXS
U Perl_safesysfree
U Perl_safesysmalloc
U Perl_safesysrealloc
U Perl_stack_grow
U Perl_sv_2bool
U Perl_sv_2iv
U Perl_sv_2mortal
U Perl_sv_2pv_flags
U Perl_sv_2pv_nolen
U Perl_sv_backoff
U Perl_sv_free
U Perl_sv_grow
U Perl_sv_setiv
U Perl_sv_setpv
U Perl_sv_setpvn
U Perl_sv_setsv_flags
U Perl_warn_nocontext
U SQLAllocHandle
U SQLBindCol
U SQLBindFileToParam
U SQLBindParameter
U SQLColAttribute
U SQLConnect
U SQLDescribeCol
U SQLDescribeParam
U SQLDisconnect
U SQLExecDirect
U SQLExecute
U SQLFetch
U SQLFreeHandle
U SQLFreeStmt
U SQLGetConnectAttr
U SQLGetCursorName
U SQLGetData
U SQLGetDiagRec
U SQLGetStmtAttr
U SQLMoreResults
U SQLNumParams
U SQLNumResultCols
U SQLPrepare
U SQLRowCount
U SQLSetConnectAttr
U SQLSetConnectOption
U SQLSetEnvAttr
U SQLSetStmtAttr
U SQLTables
U SQLTransact
000000000000b260 t SQLTypeIsBinary
000000000000b2ac t SQLTypeIsGraphic
000000000000b214 t SQLTypeIsLong
0000000000005f84 T XS_DBD__DB2__db_DESTROY
0000000000005cf0 T XS_DBD__DB2__db_FETCH
000000000000596c T XS_DBD__DB2__db_STORE
00000000000064a8 T XS_DBD__DB2__db__do
0000000000004bc0 T XS_DBD__DB2__db__login
0000000000006760 T XS_DBD__DB2__db__ping
000000000000507c T XS_DBD__DB2__db_commit
0000000000005564 T XS_DBD__DB2__db_disconnect
00000000000052f0 T XS_DBD__DB2__db_rollback
000000000000497c T XS_DBD__DB2__dr__data_sources
0000000000004438 T XS_DBD__DB2__dr_disconnect_all
00000000000096d4 T XS_DBD__DB2__st_DESTROY
0000000000009440 T XS_DBD__DB2__st_FETCH
00000000000090bc T XS_DBD__DB2__st_STORE
0000000000006978 T XS_DBD__DB2__st__prepare
0000000000009b20 T XS_DBD__DB2__st__table_info
0000000000007054 T XS_DBD__DB2__st_bind_param
0000000000007508 T XS_DBD__DB2__st_bind_param_inout
00000000000089f0 T XS_DBD__DB2__st_blob_read
0000000000007adc T XS_DBD__DB2__st_execute
0000000000008388 T XS_DBD__DB2__st_fetchrow_array
00000000000080f0 T XS_DBD__DB2__st_fetchrow_arrayref
0000000000008664 T XS_DBD__DB2__st_finish
0000000000006df4 T XS_DBD__DB2__st_rows
0000000000014348 A _DYNAMIC
0000000000014510 A _GLOBAL_OFFSET_TABLE_
w _Jv_RegisterClasses
00000000000144f0 d __CTOR_END__
00000000000144e8 d __CTOR_LIST__
0000000000014500 d __DTOR_END__
00000000000144f8 d __DTOR_LIST__
0000000000014340 d __EH_FRAME_BEGIN__
0000000000014340 d __FRAME_END__
0000000000014508 d __JCR_END__
0000000000014508 d __JCR_LIST__
00000000000149b0 A __bss_start
U __ctype_get_mb_cur_max@@GLIBC_2.2
U __ctype_toupper@@GLIBC_2.2
w __cxa_finalize@@GLIBC_2.2
00000000000116fc t __do_global_ctors_aux
00000000000042fc t __do_global_dtors_aux
0000000000014320 d __dso_handle
w __gmon_start__
U __strtol_internal@@GLIBC_2.2
00000000000149b0 A _edata
00000000000149c0 A _end
0000000000011764 T _fini
0000000000003410 T _init
0000000000009ec8 T boot_DBD__DB2
0000000000011748 t call___do_global_ctors_aux
00000000000043ac t call___do_global_dtors_aux
000000000000441c t call_frame_dummy
000000000000ae9c t check_error
00000000000149b0 b completed.1
000000000000ddfc T db2_bind_ph
000000000000b398 T db2_data_sources
000000000000c8dc T db2_db_FETCH_attrib
000000000000c4d8 T db2_db_STORE_attrib
000000000000bfd0 T db2_db_commit
000000000000c2b8 T db2_db_destroy
000000000000c0c8 T db2_db_disconnect
000000000000ba74 T db2_db_do
000000000000bc10 T db2_db_ping
000000000000c04c T db2_db_rollback
000000000000cbbc t db2_describe
000000000000aa34 T db2_init
0000000000010424 T db2_st_FETCH_attrib
0000000000010168 T db2_st_STORE_attrib
000000000000fa18 T db2_st_blob_read
000000000000fdc8 T db2_st_destroy
000000000000ee40 T db2_st_execute
000000000000f2b8 T db2_st_fetch
000000000000fcb8 T db2_st_finish
000000000000dbe8 T db2_st_prepare
000000000000fcb0 T db2_st_rows
000000000000d750 T db2_st_table_info
000000000000ed6c T dbd_conn_opt
000000000000b5a4 t dbd_db_connect
000000000000b8bc T dbd_db_login2
000000000000d2f8 t dbd_preparse
000000000000aa8c t do_error
000000000000b0c8 t fbh_dump
00000000000043c8 t frame_dummy
000000000000c30c t getConnectAttr
000000000000ffcc t getStatementAttr
U mblen@@GLIBC_2.2
0000000000014328 d p.0
U pthread_getspecific
U sprintf@@GLIBC_2.2
00000000000149b4 B sql_state
U sqledcls_api
U sqledgne_api
U sqledosd_api
U strlen@@GLIBC_2.2
U strncpy@@GLIBC_2.2
[EMAIL PROTECTED]
ssre.com
05.12.2003 13:18
To:
[EMAIL PROTECTED]
cc:
(bcc: Roman Gerteis/SwissRe)
bcc:
Roman Gerteis/SwissRe
Subject:
Compilation Error DBD::DB2 on Linux/390
Hay there,
I'm facing the well known problem of:
undefined symbol: SQLTables. (error message see on bottom)
Did I get that right:
When building the module make compiles a native DB2.so library.
That one has a reference to SQLTables that should be in DBD is calling
a method on the Database .so libraries?
Would it mean that:
a) My DB2 instance does not provide this function in its own libdb.so.3
or
b) that there is an implementation problem on the DBD::DB2 module?
or
c) something else?
I was checking the references with ldd. Libraries are there. DB2_HOME
is set and the dbconnection works fine if I use sql commandline.
So I'm a bit confused what to do now. Any suggestions?
thanxs in advance
roman
Environment:
- Linux/390 (Suse Enterprise Distribution: 2.4.19-3suse-SMP) 64bit
- DB2 UDB for L/390 Version 7.2 fixpack 8
- Perl 5.8 (perl-5.8.0-33) RPM distribution from Suse
- Perl-Modules: DBI-1.39, DBD-DB2-0.76
Error Message:
$ make test
make[1]: Entering directory
`/usr/src/packages/SOURCES/DBD-DB2-0.76/Constants'
make[1]: Leaving directory
`/usr/src/packages/SOURCES/DBD-DB2-0.76/Constants'
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/base....install_driver(DB2) failed: Can't load
'/usr/src/packages/SOURCES/DBD-DB2-0.76/blib/arch/auto/DBD/DB2/DB2.so' for
module DBD::DB2:
/usr/src/packages/SOURCES/DBD-DB2-0.76/blib/arch/auto/DBD/DB2/DB2.so:
undefined symbol: SQLTables at
/usr/lib/perl5/5.8.0/s390x-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/base.t line 16
t/base....dubious
Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests
4-5
Failed 2/5 tests, 60.00% okay
t/main....ok
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/base.t 255 65280 5 2 40.00% 4-5
Failed 1/2 test scripts, 50.00% okay. 2/6 subtests failed, 66.67% okay.
make: *** [test_dynamic] Error 29
Output of LDD:
$ ldd /usr/src/packages/SOURCES/DBD-DB2-0.76/blib/arch/auto/DBD/DB2/DB2.so
libdb.so.3 => /lib64/libdb.so.3 (0x000001000001f000)
libc.so.6 => /lib64/libc.so.6 (0x000001000006b000)
/lib/ld64.so.1 => /lib/ld64.so.1 (0x0000015555555000)
This e-mail, including attachments, is intended for the person(s) or
company named and may contain confidential and/or legally privileged
information. Unauthorized disclosure, copying or use of this information
may be unlawful and is prohibited. If you are not the intended recipient,
please delete this message and notify the sender
This e-mail, including attachments, is intended for the person(s) or
company named and may contain confidential and/or legally privileged
information. Unauthorized disclosure, copying or use of this information
may be unlawful and is prohibited. If you are not the intended recipient,
please delete this message and notify the sender