GNOME Bugzilla – Bug 409278
Missing link flags prevent build with -z defs ld flags
Last modified: 2007-03-10 20:54:07 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,
Created attachment 82811 [details] [review] Link with X11 (requires x11.pc)
Do you know when x11.pc was added?
It was added with Xorg aka X11R7. (/me whistles.)
Commited. Thanks.
(Bug 416889 filed about this change breaking the build when one does not have a very recent version of xorg.)