After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 409278 - Missing link flags prevent build with -z defs ld flags
Missing link flags prevent build with -z defs ld flags
Status: RESOLVED FIXED
Product: libgnomeui
Classification: Deprecated
Component: general
CVS HEAD
Other Linux
: Normal major
: future
Assigned To: libgnomeui maintainers
libgnomeui maintainers
Depends on:
Blocks: 413061
 
 
Reported: 2007-02-18 13:56 UTC by Loïc Minier
Modified: 2007-03-10 20:54 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Link with X11 (requires x11.pc) (544 bytes, patch)
2007-02-18 13:56 UTC, Loïc Minier
none Details | Review

Description Loïc Minier 2007-02-18 13:56:05 UTC
Hi,

When jhbuilding libgnomeui with:
os.environ['LDFLAGS'] = '-Wl,-z,defs'

I get:
nome-icon-list.o .libs/gnome-icon-lookup.o .libs/gnome-icon-sel.o .libs/gnome-icon-theme.o .libs/gnome-vfs-util.o .libs/gnome-window.o .libs/gnome-window-icon.o .libs/gnome-password-dialog.o .libs/gnome-authentication-manager.o  -Wl,--rpath -Wl,/home/lool/jhbuild-gnome-2.18/prefix/lib -Wl,--rpath -Wl,/home/lool/jhbuild-gnome-2.18/prefix/lib -L/home/lool/jhbuild-gnome-2.18/prefix/lib /home/lool/jhbuild-gnome-2.18/prefix/lib/libxml2.so /home/lool/jhbuild-gnome-2.18/prefix/lib/libbonoboui-2.so /home/lool/jhbuild-gnome-2.18/prefix/lib/libgnomecanvas-2.so /home/lool/jhbuild-gnome-2.18/prefix/lib/libgnome-2.so /home/lool/jhbuild-gnome-2.18/prefix/lib/libart_lgpl_2.so /home/lool/jhbuild-gnome-2.18/prefix/lib/libgtk-x11-2.0.so /home/lool/jhbuild-gnome-2.18/prefix/lib/libgdk-x11-2.0.so /home/lool/jhbuild-gnome-2.18/prefix/lib/libatk-1.0.so /home/lool/jhbuild-gnome-2.18/prefix/lib/libgdk_pixbuf-2.0.so -lm /home/lool/jhbuild-gnome-2.18/prefix/lib/libpangocairo-1.0.so /home/lool/jhbuild-gnome-2.18/prefix/lib/libcairo.so /home/lool/jhbuild-gnome-2.18/prefix/lib/libbonobo-2.so /home/lool/jhbuild-gnome-2.18/prefix/lib/libbonobo-activation.so /home/lool/jhbuild-gnome-2.18/prefix/lib/libpango-1.0.so /home/lool/jhbuild-gnome-2.18/prefix/lib/libgnomevfs-2.so /home/lool/jhbuild-gnome-2.18/prefix/lib/libgconf-2.so /home/lool/jhbuild-gnome-2.18/prefix/lib/libgmodule-2.0.so -ldl /home/lool/jhbuild-gnome-2.18/prefix/lib/libORBit-2.so /home/lool/jhbuild-gnome-2.18/prefix/lib/libgthread-2.0.so -lrt /home/lool/jhbuild-gnome-2.18/prefix/lib/libgobject-2.0.so /home/lool/jhbuild-gnome-2.18/prefix/lib/libgnome-keyring.so /home/lool/jhbuild-gnome-2.18/prefix/lib/libglib-2.0.so /usr/lib/libjpeg.so -lSM -lICE /usr/lib/libpopt.so  -Wl,-O1 -Wl,-z -Wl,defs -Wl,--export-dynamic -pthread -Wl,-soname -Wl,libgnomeui-2.so.0 -Wl,-version-script -Wl,.libs/libgnomeui-2.ver -o .libs/libgnomeui-2.so.0.1788.4
.libs/gnome-ui-init.o: In function `libgnomeui_segv_handle':
gnome-ui-init.c:(.text+0x875): undefined reference to `XUngrabServer'
collect2: ld returned 1 exit status
make[4]: *** [libgnomeui-2.la] Erreur 1
make[4]: quittant le répertoire « /home/lool/jhbuild-gnome-2.18/build/libgnomeui/libgnomeui »

This is due to a missing -lX11 link flag for XUngrabServer.

I'll attach a patch which adds x11.pc to the set of required pkg-config modules for libgnomeui.  I'm not sure whether x11.pc is present in all linux distros, but I don't know whether you support older Xorg/X11 either; if you do, you might want to split the x11 check and fallback on an AC_CHECK_LIB.

Bye,
Comment 1 Loïc Minier 2007-02-18 13:56:41 UTC
Created attachment 82811 [details] [review]
Link with X11 (requires x11.pc)
Comment 2 Kjartan Maraas 2007-02-20 13:39:18 UTC
Do you know when x11.pc was added?
Comment 3 Loïc Minier 2007-02-20 13:45:52 UTC
It was added with Xorg aka X11R7.

(/me whistles.)
Comment 4 Kjartan Maraas 2007-02-28 17:00:40 UTC
Commited. Thanks.
Comment 5 Elijah Newren 2007-03-10 20:54:07 UTC
(Bug 416889 filed about this change breaking the build when one does not have a very recent version of xorg.)