Unresolved references on 11.23 (Itanium)
Hello,
We have been using python and its cx_oracle extension on
PA-Risc (HPUX 11.11) without problems.
Unfortunately, I am hitting unresolved references when trying
to compile the same OSS on 11.23 (Itanium ia64). This happens
with gcc as well as with the HP ansi compiler; in 32 or 64
bits data model.
I have already posted to one oracle NG and the cx_oracle support
list, to no avail so far. I'll include links to posts with all the
details at the end of this message, but I _think_ it boils down to
one Oracle lib (libnnz10.so) not being able to resolve a whole lot
of symbols. Here are a few examples:
/usr/lib/hpux64/dld.so: Unsatisfied data symbol 'nltrc_entry'
Unsatisfied code symbol'SSL_PROTOCOL_TLSV1_SSLV3_V2_SERVERSIDE'
Unsatisfied code symbol 'ldap_unbind_s'
Unsatisfied code symbol 'ssl_Handshake'
....etc...ad nauseam...
This seems to suggest one network (dynamic?) lib cannot be located.
Would anyone recognise these symbols and happen to know which
library provides those routines?
Thanks for any suggestion,
Bernard.
posted to the cx_oracle mailing list:
[url]http://thread.gmane.org/gmane.comp.python.db.cx-oracle/246[/url]
posted to comp.databases.oracle.tools (google groups link):
[url]http://tinyurl.com/dwcwb[/url]
Re: Unresolved references on 11.23 (Itanium)
Bernard Delm?e <bdelmee@advalvas.removeme.be> wrote:[color=blue]
> Hello,[/color]
[color=blue]
> We have been using python and its cx_oracle extension on
> PA-Risc (HPUX 11.11) without problems.
> Unfortunately, I am hitting unresolved references when trying
> to compile the same OSS on 11.23 (Itanium ia64). This happens
> with gcc as well as with the HP ansi compiler; in 32 or 64
> bits data model.[/color]
[color=blue]
> I have already posted to one oracle NG and the cx_oracle support
> list, to no avail so far. I'll include links to posts with all the
> details at the end of this message, but I _think_ it boils down to
> one Oracle lib (libnnz10.so) not being able to resolve a whole lot
> of symbols. Here are a few examples:[/color]
[color=blue]
> /usr/lib/hpux64/dld.so: Unsatisfied data symbol 'nltrc_entry'
> Unsatisfied code symbol'SSL_PROTOCOL_TLSV1_SSLV3_V2_SERVERSIDE'
> Unsatisfied code symbol 'ldap_unbind_s'
> Unsatisfied code symbol 'ssl_Handshake'
> ...etc...ad nauseam...[/color]
[color=blue]
> This seems to suggest one network (dynamic?) lib cannot be located.
> Would anyone recognise these symbols and happen to know which
> library provides those routines?[/color]
One quick check might be to run chatr/ldd against the PA-RISC
binary(ies) you are using - chances are decent the libraries would be
of the same names under Itanium.
Since SSL appears in several of the symbols, is an HP OpenSSL
installed on the PA_RISC system, but not the IPF?
Was there a configure script run, and perhaps does its log show
anything amis?
rick jones
--
Process shall set you free from the need for rational thought.
these opinions are mine, all mine; HP might not want them anyway... :)
feel free to post, OR email to rick.jones2 in hp.com but NOT BOTH...
Re: Unresolved references on 11.23 (Itanium)
Hello Rick, thanks for replying
[color=blue]
> Since SSL appears in several of the symbols, is an HP OpenSSL
> installed on the PA_RISC system, but not the IPF?[/color]
Not that I know, or that immediately appears from ldd's output
(see below)
[color=blue]
> Was there a configure script run, and perhaps does its log show
> anything amis?[/color]
There is a configure script for python, and cx_oracle uses
the python distutils mechanism. Both of these seem to work,
and don't complain or reveal anything remarkable (to me).
The python interpreter definitely works, and its oracle extension
gets (dynamically) linked, but the problems occur when trying
to load the extension module from the interpreter (or a script).
[color=blue]
> One quick check might be to run chatr/ldd against the PA-RISC
> binary(ies) you are using - chances are decent the libraries would
> be of the same names under Itanium.[/color]
Alright, since you asked ;-) I can't say anything strikes me that
would be present on the older system only, but you be the judge.
[1]python 2.3 on PA-Risc
------------------------
[bdelmee@prisme6] ~ $ uname -a
HP-UX prisme6 B.11.11 U 9000/800 666309321 unlimited-user license
[acars@prisme6] logs $ file /home/bdelmee/py23/bin/python
/home/bdelmee/py23/bin/python: PA-RISC1.1 shared executable
dynamically linked -not stripped
[bdelmee@prisme6] ~ $ ldd /home/bdelmee/py23/bin/python
/usr/lib/libc.2 => /usr/lib/libc.2
/usr/lib/libdld.2 => /usr/lib/libdld.2
/usr/lib/libc.2 => /usr/lib/libc.2
/usr/lib/libcl.2 => /usr/lib/libcl.2
/usr/lib/libisamstub.1 => /usr/lib/libisamstub.1
/usr/lib/libdld.2 => /usr/lib/libdld.2
/usr/lib/libm.2 => /usr/lib/libm.2
/usr/lib/libpthread.1 => /usr/lib/libpthread.1
/usr/lib/libdld.2 => /usr/lib/libdld.2
/usr/lib/librt.2 => /usr/lib/librt.2
/usr/lib/libnsl.1 => /usr/lib/libnsl.1
/usr/lib/libxti.2 => /usr/lib/libxti.2
[bdelmee@prisme6] ~ $ ldd
/home/bdelmee/py23/lib/python2.3/site-packages/cx_Oracle.sl
/app/oracle/product/8.1.7/lib/libclntsh.sl.8.0 =>
/app/oracle/product/8.1.7/lib/libclntsh.sl.8.0
/usr/lib/libcl.2 => /usr/lib/libcl.2
/usr/lib/libisamstub.1 => /usr/lib/libisamstub.1
/usr/lib/libdld.2 => /usr/lib/libdld.2
/usr/lib/libc.2 => /usr/lib/libc.2
/usr/lib/libdld.2 => /usr/lib/libdld.2
/usr/lib/libc.2 => /usr/lib/libc.2
/usr/lib/libm.2 => /usr/lib/libm.2
/usr/lib/libdld.2 => /usr/lib/libdld.2
/usr/lib/libnss_dns.1 => /usr/lib/libnss_dns.1
/usr/lib/libdld.2 => /usr/lib/libdld.2
/usr/lib/libpthread.1 => /usr/lib/libpthread.1
/usr/lib/librt.2 => /usr/lib/librt.2
/app/oracle/product/8.1.7/lib/libwtc8.sl =>
/app/oracle/product/8.1.7/lib/libwtc8.sl
/usr/lib/libc.2 => /usr/lib/libc.2
[bdelmee@prisme6] ~ $ chatr /home/bdelmee/py23/bin/python
chatr(warning): dl_header_ext.size != sizeof(dl_header_ext). Please
update your version of the linker.
/home/samad/bernard/py23/bin/python:
shared executable
shared library dynamic path search:
SHLIB_PATH enabled first
embedded path disabled second Not Defined
shared library list:
dynamic /usr/lib/libnsl.1
dynamic /usr/lib/librt.2
dynamic /usr/lib/libdld.2
dynamic /usr/lib/libpthread.1
dynamic /usr/lib/libm.2
dynamic /usr/lib/libcl.2
dynamic /usr/lib/libc.2
shared library binding:
deferred
global hash table disabled
plabel caching disabled
global hash array size:1103
global hash array nbuckets:3
shared vtable support disabled
static branch prediction disabled
executable from stack: D (default)
kernel assisted branch prediction enabled
lazy swap allocation disabled
text segment locking disabled
data segment locking disabled
third quadrant private data space disabled
fourth quadrant private data space disabled
third quadrant global data space disabled
data page size: D (default)
instruction page size: D (default)
nulptr references disabled
shared library private mapping disabled
shared library text merging disabled
[2] python 2.4 64-bits on Itanium
----------------------------------
[bdelmee@prisme20] ~ $ uname -a
HP-UX prisme20 B.11.23 U ia64 1530408444 unlimited-user license
[bdelmee@prisme20] bdelmee $ file /usr/local/bin/python
/usr/local/bin/python: ELF-64 executable object file - IA64
[bdelmee@prisme20] ~ $ ldd /usr/local/bin/python
libnsl.so.1 => /usr/lib/hpux64/libnsl.so.1
librt.so.1 => /usr/lib/hpux64/librt.so.1
libdl.so.1 => /usr/lib/hpux64/libdl.so.1
libpthread.so.1 => /usr/lib/hpux64/libpthread.so.1
libm.so.1 => /usr/lib/hpux64/libm.so.1
libc.so.1 => /usr/lib/hpux64/libc.so.1
libxti.so.1 => /usr/lib/hpux64/libxti.so.1
[bdelmee@prisme20] ~ $ ldd
/usr/local/lib/python2.4/site-packages/cx_Oracle.sl
libclntsh.so.10.1 =>
/app/oracle/product/10.1.0.2/lib/libclntsh.so.10.1
libnnz10.so => /app/oracle/product/10.1.0.2/lib/libnnz10.so
librt.so.1 => /usr/lib/hpux64/librt.so.1
libnss_dns.so.1 => /usr/lib/hpux64/libnss_dns.so.1
libdl.so.1 => /usr/lib/hpux64/libdl.so.1
libm.so.1 => /usr/lib/hpux64/libm.so.1
libpthread.so.1 => /usr/lib/hpux64/libpthread.so.1
libunwind.so.1 => /usr/lib/hpux64/libunwind.so.1
libdl.so.1 => /usr/lib/hpux64/libdl.so.1
libuca.so.1 => /usr/lib/hpux64/libuca.so.1
[bdelmee@prisme20] bdelmee $ chatr /usr/local/bin/python
/usr/local/bin/python:
64-bit ELF executable
shared library dynamic path search:
LD_LIBRARY_PATH enabled first
SHLIB_PATH enabled second
embedded path enabled third
/usr/lib/hpux64:/opt/langtools/lib/hpux64
shared library list:
libnsl.so.1
librt.so.1
libdl.so.1
libpthread.so.1
libm.so.1
libc.so.1
shared library binding:
deferred
global hash table disabled
global hash table size 1103
shared library mapped private disabled
shared library segment merging disabled
shared vtable support disabled
explicit unloading disabled
linkage table protection disabled
segments:
index type address flags size
7 text 4000000000000000 z---c- D (default)
8 data 6000000000000000 ---m-- D (default)
executable from stack: D (default)
kernel assisted branch prediction enabled
lazy swap allocation for dynamic segments disabled
nulptr references disabled
address space model: default
caliper dynamic instrumentation disabled
[bdelmee@prisme20] bdelmee $ chatr
/usr/local/lib/python2.4/site-packages/cx_Oracle.sl
/usr/local/lib/python2.4/site-packages/cx_Oracle.sl:
64-bit ELF shared library
shared library dynamic path search:
LD_LIBRARY_PATH enabled first
SHLIB_PATH enabled second
embedded path enabled third
/app/oracle/product/10.1.0.2/lib
shared library list:
libclntsh.so.10.1
shared vtable support disabled
explicit unloading enabled
linkage table protection disabled
segments:
index type address flags size
6 text 4000000000000000 z---c- D (default)
7 data 6000000000000000 ---m-- D (default)
kernel assisted branch prediction enabled
lazy swap allocation for dynamic segments disabled
nulptr references disabled
address space model: default
caliper dynamic instrumentation disabled
[bdelmee@prisme20] tmp $ chatr /app/oracle/product/10.1.0.2/lib/libnnz10.so
/app/oracle/product/10.1.0.2/lib/libnnz10.so:
64-bit ELF shared library
shared library dynamic path search:
LD_LIBRARY_PATH enabled first
SHLIB_PATH enabled second
embedded path enabled third
/b/s127/lib/:/b/s127/network/lib/
shared vtable support disabled
explicit unloading enabled
linkage table protection disabled
segments:
index type address flags size
6 text 4000000000000000 z---c- D (default)
7 data 6000000000000000 ---m-- D (default)
kernel assisted branch prediction enabled
lazy swap allocation for dynamic segments disabled
nulptr references disabled
address space model: default
caliper dynamic instrumentation disabled
Remark: /b/s127/lib/:/b/s127/network/lib/ don't exist on this
system, but SHLIB contains the equivalent under $ORACLE_HOME...
A 32-bit version build with gcc is linked agaisnt different libraries
but fails to load all the same.
Many thanks for your support,
Bernard.