1745925 Members
4344 Online
108723 Solutions
New Discussion юеВ

Re: gzopen libxml2

 
Berardi Angelo
Occasional Contributor

gzopen libxml2

I have ported software written in C++ from Tru64 to HP-UX 11i v2. I have used the Migration Environment for HP-UX 11i v2 (because this was the only version available)and the Developing_Bundle_11.23. I have runned the software on a server HP-UX 11i v3. When I started the process I received:

/usr/lib/hpux64/dld.so: Unsatisfied code symbol 'gzopen' in load module
'/usr/lib/hpux64/libxml2.so.9'.
Killed

It seems that the libxml2.so doesn't see the gzopen function in /usr/local/include/zlib.h
when it should auto detect it.

The libxml2.so.9 library links to

/opt/iexpress/libxml2/lib/hpux64/libxml2.so.9

The internet express libxml2 has been loaded with:

ixLibxml2_A.11.00-2.7.2.002_HP-UX_B.11.31_IA_PA.depot

Thanks in advance.
2 REPLIES 2
OldSchool
Honored Contributor

Re: gzopen libxml2

you should have libz.a or libz.so included in the link step. the fact that its defined / typedef'd in the include file doesn't do anything for the linker finding the code.

in your case, the linker is looking for a library that has an entry for "gzopen" and can't find one in the list provided.

the command line used might be interesting.
Shinji Teragaito_1
Respected Contributor

Re: gzopen libxml2

It looks like libxml2.so in Internet Express was linked with libz.a.

% ldd /opt/iexpress/libxml2/lib/hpux64/libxml2.so.8.31
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
libdl.so.1 => /usr/lib/hpux64/libdl.so.1
%
% nm /opt/iexpress/libxml2/lib/hpux64/libxml2.so.8.31 | grep gzopen
[2564] | 4611686018431713424| 112|FUNC |GLOB |0| .text|gzopen
%

If your application calls gzopen() to open a gzip file for reading or
writing, you have to prepare for libz.so and link your apps with
libz.so. Lucky to say, the ixZlib (zlib compression library) bundle is
available in our Internet Express.

Shinji