Re: Problem with Pango On IBM AIX 4.3.3



Valdis Kletnieks vt edu wrote:

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.
I've already found that at link time -berok is used
So i replaced it and I've seen which function are unresolved at link time.
So corectly the -lglib-2.0 was missing.
I fixed it and it works fine now.

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...


Do you Know if -lrtl is the same as -brtl at linking
And this option helps at run time af a program to find the shared libraries.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]