On Mon, 2004-07-19 at 14:36, Simon Kitching wrote: > Hi, > > I have built an app using xerces-c as a shared lib on Linux. I'm now > trying to get it running on AIX 5.1. > > Issue 1: > > The binary download of xerces-c for AIX appears to have static libs > (.a), but no shared libs (.so). Is this deliberate, and if so, what is > the reason?
Hmm..it appears that AIX uses the suffix '.a' for dynamic shared libs. How nice :-(. Well that issue's solved. However if I compile code with either g++ or xlC v5, then link against the xerces-c libs in the prebuilt download, I get link errors. None of the xerces-c APIs can be found. Is it possible that g++ and xlC v5 use different name-mangling algorithms from xlC v6, which the binary xerces download was built with? > > Issue 2: > > When I try to compile from source using gcc/g++ 2.9, I get a link > problem. I can compile other c/c++ apps successfully on this machine. > > The runConfigure script seems ok: > ./runConfigure -p aix -cgcc -xg++ -nfileonly -rpthread > > And the compile seems ok. > > But I get this link error: > > gmake[1]: Entering directory `/home/simon/xerces-c-src_2_5_0/obj' > > Building /home/simon/xerces-c-src_2_5_0/lib/libxerces-c25.0.a > makeC++SharedLib_r -p 5000 -o > /home/simon/xerces-c-src_2_5_0/lib/libxerces-c25.0.a > {lots of .o files} > -bmap:/home/simon/xerces-c-src_2_5_0/obj/libxerces-c25.0.map > -lpthreads -L/usr/lpp/xlC/lib > > ld: 0711-317 ERROR: Undefined symbol: __pure_virtual > ld: 0711-317 ERROR: Undefined symbol: .__builtin_new > ld: 0711-317 ERROR: Undefined symbol: .__eh_alloc > ld: 0711-317 ERROR: Undefined symbol: .__cp_push_exception > ld: 0711-317 ERROR: Undefined symbol: .__throw > ld: 0711-317 ERROR: Undefined symbol: .__rethrow > ld: 0711-317 ERROR: Undefined symbol: .__cp_pop_exception > ld: 0711-317 ERROR: Undefined symbol: .__start_cp_handler > ld: 0711-317 ERROR: Undefined symbol: .__builtin_delete > ld: 0711-317 ERROR: Undefined symbol: .__rtti_si > ld: 0711-317 ERROR: Undefined symbol: .__rtti_user > ld: 0711-317 ERROR: Undefined symbol: .__rtti_class > ld: 0711-317 ERROR: Undefined symbol: .__builtin_vec_new > ld: 0711-317 ERROR: Undefined symbol: .__builtin_vec_delete > ld: 0711-317 ERROR: Undefined symbol: .__uncatch_exception > ld: 0711-317 ERROR: Undefined symbol: .__eprintf > ld: 0711-317 ERROR: Undefined symbol: .__tfi > ld: 0711-317 ERROR: Undefined symbol: .__fixunssfsi > ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more > information. > gmake[1]: *** [/home/simon/xerces-c-src_2_5_0/lib/libxerces-c25.0.a] > Error 8 > gmake[1]: Target `ALL' not remade because of errors. > gmake[1]: Leaving directory `/home/simon/xerces-c-src_2_5_0/obj' > gmake: *** [/home/simon/xerces-c-src_2_5_0/lib/libxerces-c25.0.a] Error > 2 > > It looks rather like libstdc++ is not being found or something. I'd still *really* appreciate any suggestions on this. Regards, Simon --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]