Re: GTK+ on AIX4.3



Thank you Valdis! It's work fine now, I am now compiling
on Aix4.3.2 (in place of 4.3.0) and I have tried several examples
and it work fines.  I have also compiled wxGTK (a cross-platform
toolkit,more info on http://www.wxwindows.org), but I still have
some problem to link my application (it's compiling OK).  I get
the following errors:

ld: 0711-317 ERROR: Undefined symbol: __dl__FPv
ld: 0711-317 ERROR: Undefined symbol: .__nw__FUl
ld: 0711-317 ERROR: Undefined symbol: .__dl__FPv
ld: 0711-317 ERROR: Undefined symbol: .__vn__FUl
ld: 0711-317 ERROR: Undefined symbol: .__vd__FPv
ld: 0711-317 ERROR: Undefined symbol: __PureVirtualCalled
ld: 0711-317 ERROR: Undefined symbol: __vn__FUl
ld: 0711-317 ERROR: Undefined symbol: __vd__FPv
ld: 0711-317 ERROR: Undefined symbol: .__vec__new2
ld: 0711-317 ERROR: Undefined symbol: .__vec__delete2
ld: 0711-317 ERROR: Undefined symbol: .__vec__new
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
information.
make: *** [polyman] Error 8


I don't know if it comes from gtk or wxGTK, but if anyone has any
hints... Is upgrading to 4.3.3 really necessary ?

I have put below an small part of the file generated with the obtions
-bloadmap...

Thanks a lot in advance...

Nicolas

=============================

(ld): halt 4
(ld): savename polyman
(ld): filelist 30 1
(ld): i /lib/crt0.o
(ld): i polyman.o
(ld): i myframe.o
(ld): i buttons.o
(ld): i FrameDialog.o
(ld): i file.o
(ld): i edit.o
(ld): i Programs.o
(ld): i Tools.o
(ld): i help.o
(ld): i mytree.o
(ld): i TreeDialog.o
(ld): i MyTreeItemData.o
(ld): i lok.o
(ld): i fileutil.o
(ld): i MyMultipleChoiceDialog.o
(ld): i extBrowser.o
(ld): i myOptionsPolydata.o
(ld): i myOptionsPolyflow.o
(ld): i notebook_wdr.o
(ld): i bitmap.o
(ld): i
/nfs/dispar/home/bxh/polyman/wxGTK-2.2.6/build/libs/aix43/lib/libwx_gtk.a
(ld): lib
/nfs/dispar/home/bxh/polyman/gtk+-1.2.10/build/libs/aix43/lib/libgtk.a
(ld): lib
/nfs/dispar/home/bxh/polyman/gtk+-1.2.10/build/libs/aix43/lib/libgdk.a
(ld): lib
/nfs/dispar/home/bxh/polyman/glib-1.2.10/build/libs/aix43/lib/libgmodule.a
(ld): lib
/nfs/dispar/home/bxh/polyman/glib-1.2.10/build/libs/aix43/lib/libglib.a
(ld): lib /usr/lib/libXext.a
(ld): lib /usr/lib/libX11.a
(ld): lib /usr/lib/libm.a
(ld): lib /usr/lib/libc.a
LIBRARY: Shared object libXext.a[shr.o]: 174 symbols imported.
LIBRARY: Shared object libX11.a[shr4.o]: 1210 symbols imported.
LIBRARY: Shared object libX11.a[shr4net.o]: 1 symbols imported.
LIBRARY: Shared object libc.a[shr.o]: 2138 symbols imported.
LIBRARY: Shared object libc.a[meth.o]: 2 symbols imported.
LIBRARY: Shared object libc.a[aio.o]: 10 symbols imported.
LIBRARY: Shared object libc.a[pse.o]: 78 symbols imported.
LIBRARY: Shared object libc.a[dl.o]: 4 symbols imported.
FILELIST: Number of previously inserted files processed: 30
(ld): resolve
RESOLVE: 20085 of 61201 symbols were kept.
(ld): addgl /usr/lib/glink.o
ADDGL: Glink code added for 347 symbols.
(ld): er full
ld: 0711-318 ERROR: Undefined symbols were found.
        The following symbols are in error:
 Symbol                    Inpndx  TY CL Source-File(Object-File) OR
Import-File{Shared-object}
                              RLD: Address  Section  Rld-type Referencing
Symbol
 __dl__FPv                 [2]     ER DS glink.s(/usr/lib/glink.o)
                                   00000028 .data    R_POS    [10]
<__dl__FPv>
 __dl__FPv                 [158]   ER DS
../../src/generic/helphtml.cpp(/nfs/dispar/home/bxh/polyman/wxGTK
-2.2.6/build/libs/aix43/lib/libwx_gtk.a[helphtml.o])
                                   000027d0 .data    R_POS    [106]
<_$STATIC>
                                   00002948 .data    R_POS    [106]
<_$STATIC>
                                   0000295c .data    R_POS    [106]
<_$STATIC>
                                   000023c8 .data    R_POS    [160]
<__dl__FPv>
 __dl__FPv                 [216]   ER DS
../../src/generic/prntdlgg.cpp(/nfs/dispar/home/bxh/polyman/wxGTK
-2.2.6/build/libs/aix43/lib/libwx_gtk.a[prntdlgg.o])
                                   000089b4 .data    R_POS    [168]
<_$STATIC>
                                   000089d4 .data    R_POS    [168]
<_$STATIC>
                                   000089f4 .data    R_POS    [168]
<_$STATIC>
....





----- Original Message -----
From: <Valdis Kletnieks vt edu>
To: "Nicolas Clemeur" <nicolasc cheque uq edu au>
Cc: <gtk-list gnome org>
Sent: Thursday, April 26, 2001 12:26 AM
Subject: Re: GTK+ on AIX4.3

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







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