axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dominic Smith <>
Subject Issues running service client on AIX 5L
Date Tue, 09 Dec 2008 17:06:25 GMT

We've just about got the Axis2/C service client running on AIX 5L (using 
Axis2/C 1.4.0), however there were a number of issues in getting this platform 
working. I notice there have been previous posts concerning AIX 5L, however I 
didn't see anything addressing this particular issue, so I figure it's best I 
bring this up. 

The crux of the problem is that when running the service client, the modules 
libaxis_http_receiver.a and libaxis2_http_sender.a will crash when trying to 
access methods within libaxis2_engine.a (e.g. the call to 
axis2_transport_in_desc_param_container() called from axis2_http_server_init() 
in http_receiver.c). 

The main reason for this is that the modules libaxis2_http_sender.a and 
libaxis2_http_receiver.a are not explicitly linked against libaxis2_engine.a, 
so if you look at the imports list for these modules, you'll see the dynamic 
linker is expecting to perform dynamic binding (but is failing to do so). 
Similarly, a problem exists in libaxis2_parser.a, as it is not explicitly 
linked against libaxutil.a. 

For example, take a look at the output of dump -HTv on libaxis2_parser - notice 
the '..' marking the symbol as being undefined. 

[155] 0x20001228 .data EXP DS SECdef [noIMid] axiom_xml_reader_init
[156] 0x20001240 .data EXP DS SECdef [noIMid] 
[157] 0x20001258 .data EXP DS SECdef [noIMid] axiom_xml_reader_create_for_io
[158] 0x20001270 .data EXP DS SECdef [noIMid] axiom_xml_reader_create_for_file
[159] 0x00000000 undef IMP DS EXTref .. axutil_error_set_error_number
[160] 0x00000000 undef IMP DS EXTref .. axutil_error_set_status_code

By explicitly linking libaxutil into libaxis2_parser, we see this becomes more 
like one would expect: 

[44] 0x00000000 undef IMP DS EXTref 

In addition to the problems noted on AIX, we ran into a number of minor issues 
porting to HP-UX (PA-RISC in 64-bit mode). The main being in the header 
axutil_unix.h, we define:

#define AXIS2_LIB_SUFFIX ".so"

unfortunately, under HP-UX (for PA-RISC) the shared library extension is ".sl" 
(HP-UX on Itanium uses .so for libraries built for the IA64 architecture, and for libraries built for the PA-RISC architecture). 

We have noted a number of memory leaks in the 1.5.0 branch, however due to time 
constraints we haven't had a real chance to pinpoint these. Hopefully we'll be 
able to bring some information on this at a later point.

View raw message