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