On Wed, 16 Apr 2003 17:40:54 +0300, "B. Souliotis" <bill beta-cae gr> said: > I've tried to compile the glib-2.2.1 pango-1.2.1 atk-1.2.0 and > gtk+-2.2.1 on IBM > with AIX 4.3.3 using xlc compiler and not gcc > The compilation was made succesfull after some minor changes in Makefiles. > > When compiling the above packages with configure --enable-static=yes and > --enable-shared=no > all the demos programs from gtk+-2.2.1 work as well. > After some trials to find the problem I'realized that all glib functions > that called from > pango has problem.Because The problem is that IBM's linker has some "odd" ideas about cross-library calls. Basically, what happens is that libtool is linking pango without a -lglib flag, and a -berok flag to accept errors. At runtime, shared lib linking for pango doesn't resolve anything in libglib.so because there's no reference for it in libpango.so. Work-arounds: 1) Fix libtool to not pass -berok and then make sure all the needed -lwhatever are specified at each step. Yes, you'll end up with very long -l lists once you get to gtk+. 2) Use the '-blazy' and/or '-lrtl' flags to do lazy-loading of shared objects. This works, but then you have to specify -lrtl for all programs that use the libraries. Also, the man page warns ' Programs that depend upon the comparison of function pointers should not use lazy loading.' because different modules can get different values for the same function pointer. Hope this helps...
Attachment:
pgp97E6uwyM0W.pgp
Description: PGP signature