On Wed, 25 Apr 2001 13:20:36 +1000, Nicolas Clemeur <nicolasc cheque uq edu au> said:
> I am trying to use GTK+ on AIX 4.3 (Using the native IBM compiler or gcc).
> The library
> (gtk+-1.2.10) and the samples compile fine, but when a launch "HelloWorld"
> for example,
> it crashes immediatly with a Segmentation Fault. I have also tried with
This is caused by a disagreement between 'libtool' and the IBM implementation
of shared libraries. You have several choices:
1) Re-build glib and gtk as static rather than shared libs (ick).
2) Do the following for glib, gmodule, gthreads, and gtk, in that order:
a) Run ./configure (make sure that 'libtool' gets built).
b) Find the line allow_undefined_flag=" \${wl}-berok" in 'libtool'
and comment it out (it's at line 190 or so).
c) Build. You'll need to then add some -lfoo flags to the Makefiles
for each component to get it to link correctly.
d) Install that component.
(Actually, you can get away with just (c) and (d) for each - but
removing the -berok makes it obvious which -lfoo you're still missing)
The problem is that (for instance) libgtk gets built, but if -berok is
specified, and a -lfoo flag is missing, it will link OK anyhow, even
if libgtk makes a call to libfoo. Unfortunately, at run time, even if
some *other* library component has a reference to libfoo, only calls
from the other component to libfoo will be resolved - calls libgtk->libfoo
will not be handled correctly.
Also, there's some other /bin/ld brain damage that makes it basically
pointless to try to do GTK on anything earlier than AIX 4.3.3.
I seem to remember some minor issues relating to -blibpath and -L../lib,
but those can (mostly) be ignored.
--
Valdis Kletnieks
Operating Systems Analyst
Virginia Tech
Attachment:
pgphS8Mua459o.pgp
Description: PGP signature