Closed Bug 236836 Opened 21 years ago Closed 21 years ago

AIX GTK2 build fails to link after landing Bug 235188

Categories

(SeaMonkey :: Build Config, defect)

Other
AIX
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED FIXED
mozilla1.7beta

People

(Reporter: pkwarren, Assigned: pkwarren)

Details

Attachments

(1 file)

Bug 235188 added a dependency on libX11.a for mozilla-bin which causes the GTK2 build of Mozilla to not link properly on AIX. This is the error message while building Mozilla: xlC_r -o mozilla-bin -DNDEBUG -DTRIMMED -O2 -qmaxmem=-1 -qalias=noansi -DWIDGET_DLL=\"libwidget_gtk2.so\" -DGFXWIN_DLL=\"libgfx_gtk2.so\" -I/opt/freeware/include/gtk-2.0 -I/opt/freeware/lib/gtk-2.0/include -I/opt/freeware/include/atk-1.0 -I/opt/freeware/include/pango-1.0 -I/opt/freeware/include/glib-2.0 -I/opt/freeware/lib/glib-2.0/include nsAppRunner.o nsWindowCreator.o showOSAlert.o nsSigHandlers.o nsStackFrameUnix.o nsNativeAppSupportGtk.o nsNativeAppSupportBase.o -brtl -bso -bh:5 -Wl,-brtl -blibpath:/usr/lib:/lib -L../../dist/bin -L../../dist/lib ../../dist/lib/libstring_s.a ../../dist/lib/libxpcomglue.a -L../../dist/bin -lmozjs -L/home/daily/sb/mozilla/obj-opt/dist/lib -lplds4 -lplc4 -lnspr4 -lpthreads -ldl -L/opt/freeware/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv -lm -lC_r -ldl -lm -lc_r ld: 0711-317 ERROR: Undefined symbol: .XInitThreads We need to add -lX11 to the link line in xpfe/bootstrap/Makefile.in to fix this issue.
Assignee: nobody → pkw
Here is a little more information. For GTK1 builds, mozilla-bin is linked with MOZ_GTK_LDFLAGS, which is set to the output of gtk-config --libs: pkw@ut:~$ gtk-config --libs -L/opt/freeware/lib -Wl,-brtl -lgtk -lgdk -lgmodule -lglib -lintl -lXext -lX11 -lm For GTK2 builds, mozilla-bin is linked against MOZ_GTK2_LIBS, which is the output of pkg-config --libs gtk+-2.0: pkw@ut:~$ pkg-config --libs gtk+-2.0 -L/opt/freeware/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv -lm Note that -lX11 is not included in the pkg-config output for GTK2.
Status: NEW → ASSIGNED
Almost sounds like you want an "if" statement in xpfe/bootstrap/Makefile.in for MOZ_X11 ifdef MOZ_X11 LIBS += -lX11 endif Since now there is a specific dependency (XInitThreads) in xpfe/bootstrap/nsAppRunner.cpp
Attached patch v1.0Splinter Review
Unfortunately, we don't export MOZ_X11 to the makefiles. For now, we can just use the check we use for chrome and clean it up when the tree reopens.
Attachment #143365 - Flags: review?(blizzard)
Attachment #143365 - Flags: review?(blizzard) → review+
Patch has been checked in.
Status: ASSIGNED → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.7beta
The real problem here seems to be that the .pc file for gtk2 doesn't include all the libraries required. At least on Linux, you don't need to link against the X11 libs because they are already pulled in when you link against gtk2.
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: