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 616722 - Xdmcp linking problem
Xdmcp linking problem
Status: RESOLVED FIXED
Product: gdm
Classification: Core
Component: general
unspecified
Other Mac OS
: Normal normal
: ---
Assigned To: GDM maintainers
GDM maintainers
Depends on:
Blocks:
 
 
Reported: 2010-04-24 18:13 UTC by Daniel Macks
Modified: 2010-06-16 22:56 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Daniel Macks 2010-04-24 18:13:39 UTC
Building gdm-2.28.2 on OS X 10.4 fails:

/bin/sh ../../libtool --tag=CC   --mode=link gcc  -Wall         -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes         -Wnested-externs -Wpointer-arith         -Wcast-align -Wsign-compare -Wp,-D_FORTIFY_SOURCE=2         -g -O2 -Wno-strict-aliasing -Wno-sign-compare  -L/sw/lib -o gdm-simple-chooser chooser-main.o gdm-chooser-host.o gdm-host-chooser-widget.o gdm-host-chooser-dialog.o gdm-chooser-client.o gdm-chooser-session.o  ../../common/libgdmcommon.la -L/sw/lib -L/sw/lib/fontconfig2/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0  -L/sw/lib -L/sw/lib/fontconfig2/lib -ldbus-glib-1 -ldbus-1 -lpthread -lglade-2.0 -lgtk-x11-2.0 -lxml2 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgconf-2 -lglib-2.0 -lXdmcp  
gcc -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -Wp,-D_FORTIFY_SOURCE=2 -g -O2 -Wno-strict-aliasing -Wno-sign-compare -o gdm-simple-chooser chooser-main.o gdm-chooser-host.o gdm-host-chooser-widget.o gdm-host-chooser-dialog.o gdm-chooser-client.o gdm-chooser-session.o  -L/sw/lib ../../common/.libs/libgdmcommon.a /sw/lib/libintl.dylib -L/sw/lib/fontconfig2/lib /sw/lib/libdbus-glib-1.dylib /sw/lib/libdbus-1.dylib -lpthread /sw/lib/libglade-2.0.dylib /sw/lib/libgtk-x11-2.0.dylib /sw/lib/libxml2.dylib /sw/lib/libgdk-x11-2.0.dylib /sw/lib/libatk-1.0.dylib /sw/lib/libgio-2.0.dylib /sw/lib/pango-ft219/lib/libpangoft2-1.0.dylib /sw/lib/libgdk_pixbuf-2.0.dylib /sw/lib/pango-ft219/lib/libpangocairo-1.0.dylib /sw/lib/libcairo.dylib /sw/lib/pango-ft219/lib/libpango-1.0.dylib /sw/lib/freetype219/lib/libfreetype.dylib /sw/lib/fontconfig2/lib/libfontconfig.dylib /sw/lib/libgobject-2.0.dylib /sw/lib/libgmodule-2.0.dylib /sw/lib/libgconf-2.dylib /sw/lib/libglib-2.0.dylib -lXdmcp
/usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: can't locate file for: -lXdmcp
collect2: ld returned 1 exit status
make: *** [gdm-simple-chooser] Error 1


The -L to allow libXdmcp to be found isn't passed. It's improved in git trunk (8e64ca9b78451b10096180a12b4b7d632915b85a) with the addition of X_LIBS, but bild still fails:

/bin/sh ../../libtool --tag=CC   --mode=link gcc  -Wall         -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes         -Wnested-externs -Wpointer-arith         -Wcast-align -Wsign-compare -Wp,-D_FORTIFY_SOURCE=2         -g -O2 -Wno-strict-aliasing -Wno-sign-compare  -L/sw/lib -o gdm-simple-chooser chooser-main.o gdm-chooser-host.o gdm-host-chooser-widget.o gdm-host-chooser-dialog.o gdm-chooser-client.o gdm-chooser-session.o  ../../common/libgdmcommon.la -L/sw/lib -L/sw/lib/fontconfig2/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0  -L/sw/lib -L/sw/lib/fontconfig2/lib -ldbus-glib-1 -ldbus-1 -lpthread -lglade-2.0 -lgtk-x11-2.0 -lxml2 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgconf-2 -lglib-2.0 -lXdmcp -L/usr/X11R6/lib -L/usr/X11R6/lib  
gcc -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -Wp,-D_FORTIFY_SOURCE=2 -g -O2 -Wno-strict-aliasing -Wno-sign-compare -o gdm-simple-chooser chooser-main.o gdm-chooser-host.o gdm-host-chooser-widget.o gdm-host-chooser-dialog.o gdm-chooser-client.o gdm-chooser-session.o  -L/sw/lib ../../common/.libs/libgdmcommon.a /sw/lib/libintl.dylib -L/sw/lib/fontconfig2/lib /sw/lib/libdbus-glib-1.dylib /sw/lib/libdbus-1.dylib -lpthread /sw/lib/libglade-2.0.dylib /sw/lib/libgtk-x11-2.0.dylib /sw/lib/libxml2.dylib /sw/lib/libgdk-x11-2.0.dylib /sw/lib/libatk-1.0.dylib /sw/lib/libgio-2.0.dylib /sw/lib/pango-ft219/lib/libpangoft2-1.0.dylib /sw/lib/libgdk_pixbuf-2.0.dylib /sw/lib/pango-ft219/lib/libpangocairo-1.0.dylib /sw/lib/libcairo.dylib /sw/lib/pango-ft219/lib/libpango-1.0.dylib /sw/lib/freetype219/lib/libfreetype.dylib /sw/lib/fontconfig2/lib/libfontconfig.dylib /sw/lib/libgobject-2.0.dylib /sw/lib/libgmodule-2.0.dylib /sw/lib/libgconf-2.dylib /sw/lib/libglib-2.0.dylib -lXdmcp -L/usr/X11R6/lib
/usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: Undefined symbols:
_XInternAtom
collect2: ld returned 1 exit status
make: *** [gdm-simple-chooser] Error 1

Apparently linking against libXdmcp on my platform requires linking libX11 as well? Adding -lX11 fixes it. Actually, someone once suspected that "using Xdmcp might require -lX11", as the configure.ac check for it uses that additional linker flag:

>	AC_CHECK_HEADER(X11/Xdmcp.h, [
>		AC_CHECK_LIB(Xdmcp, XdmcpFlush, [
>		     	AC_DEFINE(HAVE_LIBXDMCP, 1, [Define if have libxdmcp])
>		     	XDMCP_LIBS="-lXdmcp"
>		     	XDMCP_SUPPORT=yes],,[$X_LIBS -lX11 $X_EXTRA_LIBS])
>	],,[#include <X11/Xproto.h>])

Most self-documenting solution would be to have XDMCP_LIBS include -lX11 as well as -lXdmcp since -lX11 was used when determining whether to use -lXdmcp.
Comment 1 William Jon McCann 2010-06-16 22:56:46 UTC
Thanks for the report.  Should be fixed in 2-30 and master.

commit 5dc6c71d21f1a4ae3e5f78b845ed9bb3034042a0
Author: William Jon McCann <jmccann@redhat.com>
Date:   Wed Jun 16 18:55:18 2010 -0400

    Specify x11 libs before xdmcp libs when linking
    
    https://bugzilla.gnome.org/show_bug.cgi?id=616722