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 368808 - build fails on Slackware 11
build fails on Slackware 11
Status: RESOLVED FIXED
Product: gdm
Classification: Core
Component: general
2.16.x
Other Linux
: Normal minor
: ---
Assigned To: GDM maintainers
GDM maintainers
Depends on:
Blocks:
 
 
Reported: 2006-11-01 11:14 UTC by Markus Kanet
Modified: 2006-11-06 22:48 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16



Description Markus Kanet 2006-11-01 11:14:14 UTC
Slackware 11.0 with XOrg 6.9 and Gnome 2.16.1 (including gdm 2.16.1).

Building gdm 2.16.2 fails on Slackware 11, here's the logfile:

make[2]: Entering directory `/root/test/gdm/source-gdm/gdm-2.16.2/utils'
/bin/sh ../libtool --tag=CC --mode=link gcc  -O2 -march=i486 -mtune=i686 -Wall -Wmissing-prototypes    -o gdm-dmx-reconnect-proxy  gdm-dmx-reconnect-proxy.o -lglib-2.0   -lX11 -ldmx 
gcc -O2 -march=i486 -mtune=i686 -Wall -Wmissing-prototypes -o gdm-dmx-reconnect-proxy gdm-dmx-reconnect-proxy.o  /usr/lib/libglib-2.0.so -lrt -lX11 -ldmx
/usr/lib/gcc/i486-slackware-linux/3.4.6/../../../../i486-slackware-linux/bin/ld: cannot find -lX11
collect2: ld returned 1 exit status
make[2]: *** [gdm-dmx-reconnect-proxy] Error 1
make[2]: Leaving directory `/root/test/gdm/source-gdm/gdm-2.16.2/utils'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/test/gdm/source-gdm/gdm-2.16.2'
make: *** [all] Error 2




ldconfig -v | grep X11

/usr/X11R6/lib:
	libX11.so.6 -> libX11.so.6.2




ls /var/log/packages/x11*

x11-6.9.0-i486-11
x11-devel-6.9.0-i486-11
x11-docs-6.9.0-noarch-5
x11-docs-html-6.9.0-noarch-5
x11-fonts-100dpi-6.9.0-noarch-5
x11-fonts-cyrillic-6.9.0-noarch-5
x11-fonts-misc-6.9.0-noarch-5
x11-fonts-scale-6.9.0-noarch-5
x11-xdmx-6.9.0-i486-11
x11-xnest-6.9.0-i486-11
x11-xvfb-6.9.0-i486-11



--with-dmx=no gdm does compile and working fine. So not really an error, just auto-detection could be fine-tuned...


Markus
Comment 1 Brian Cameron 2006-11-01 17:37:54 UTC
I would set "LDFLAGS=-L/path/where/xserver/libs/are -R/path/where/xserver/libs/are" and re-run configure and make.  Should build just fine. Seems on your system that the -lX11 library needs to be explicitely listed on the compile line.  Instead of doing this you could just edit the generated Makefile and add -L and -R arguments there and just re-run make (without needing to run configure again).  That should also work around this problem.

Also, I think this particular program doesn't actually use the -X11 library so you could probably edit the Makefile and remove references to "-lX11" and it would probably also work. 

I think this has been fixed in the latest 2.16.2 release so you could also try building the latest version and the problem should be fixed.

If this fixes your problem, let's close the bug.  Ok?
Comment 2 Markus Kanet 2006-11-01 17:44:46 UTC
Well... i was using the 2.16.2 sources. That was when this error did appear for the first time. With 2.16.1 all works fine. I could disable dmx and would not have any problem but i will give your thoughts about -L and -R a try to see if that helps for 2.16.2, thx.

Markus
Comment 3 Brian Cameron 2006-11-01 19:25:39 UTC
I would accept a patch that would modify configure.ac to add the path to the X11 libraries to LDFLAGS, but setting LDFLAGS before running configure also works.
Comment 4 Markus Kanet 2006-11-02 05:57:46 UTC
Looks like using -L/-R fixes the problem when looking for the X11-libs, but dmx-support seem to be broken on xorg 6.9:

Making all in utils
make[2]: Entering directory `/root/test/gdm/source-gdm/gdm-2.16.2/utils'
/bin/sh ../libtool --tag=CC --mode=link gcc  -O2 -march=i486 -mtune=i686 -Wall -Wmissing-prototypes   -L/usr/X11R6/lib -R/usr/X11R6/lib -o gdm-dmx-reconnect-proxy  gdm-dmx-reconnect-proxy.o -lglib-2.0   -lX11 -ldmx 
gcc -O2 -march=i486 -mtune=i686 -Wall -Wmissing-prototypes -o gdm-dmx-reconnect-proxy gdm-dmx-reconnect-proxy.o  -L/usr/X11R6/lib /usr/lib/libglib-2.0.so -lrt -lX11 -ldmx -Wl,--rpath -Wl,/usr/X11R6/lib
/usr/X11R6/lib/libdmx.a(dmx.o)(.text+0x13): In function `find_display':
: undefined reference to `XextCreateExtension'
/usr/X11R6/lib/libdmx.a(dmx.o)(.text+0x2a): In function `find_display':
: undefined reference to `XextFindDisplay'
/usr/X11R6/lib/libdmx.a(dmx.o)(.text+0x67): In function `find_display':
: undefined reference to `XextAddDisplay'
/usr/X11R6/lib/libdmx.a(dmx.o)(.text+0x18d): In function `DMXQueryVersion':
: undefined reference to `XMissingExtension'
/usr/X11R6/lib/libdmx.a(dmx.o)(.text+0x2bd): In function `DMXSync':
: undefined reference to `XMissingExtension'
/usr/X11R6/lib/libdmx.a(dmx.o)(.text+0x3ed): In function `DMXForceWindowCreation':
: undefined reference to `XMissingExtension'
/usr/X11R6/lib/libdmx.a(dmx.o)(.text+0x50d): In function `DMXGetScreenCount':
: undefined reference to `XMissingExtension'
/usr/X11R6/lib/libdmx.a(dmx.o)(.text+0x63d): In function `DMXGetScreenAttributes':
: undefined reference to `XMissingExtension'
/usr/X11R6/lib/libdmx.a(dmx.o)(.text+0xaf0): more undefined references to `XMissingExtension' follow
/usr/X11R6/lib/libdmx.a(dmx.o)(.text+0x83): In function `close_display':
: undefined reference to `XextRemoveDisplay'
collect2: ld returned 1 exit status
make[2]: *** [gdm-dmx-reconnect-proxy] Error 1
make[2]: Leaving directory `/root/test/gdm/source-gdm/gdm-2.16.2/utils'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/test/gdm/source-gdm/gdm-2.16.2'
make: *** [all] Error 2



Since i do not need dmx i will use --with-dmx=no so i can get GDM 2.16.2 to work. I think we can close this report then ?

Markus
Comment 5 Brian Cameron 2006-11-02 18:16:03 UTC
I wonder if this was broken by the change made by this bugfix.  Refer to bug #361233.

Does changing the following setting of dm_dmx_reconnect_proxy_LDADD back into the utils/Makefile.am fix the problem?

dm_dmx_reconnect_proxy_LDADD = $(GLIB_LIBS) $(X_EXTRA_LIBS) $(X_LIBS) -lX11
$(DMX_LIBS)

Note that you need to go to the top-level gdm2 directory and re-run automake and configure after making this change (or just re-run autogen.sh) and then run "make clean" and "make".  This will ensure that all the Makefiles get regenerated after changing the Makefile.am file.   Then does it build okay?  If so, I'll reverse this previous patch.

Glad to hear that setting LDFLAGS helps you work around the problem.
Comment 6 Markus Kanet 2006-11-03 04:36:36 UTC
Yes... if edit the Makefile.am like this:

if DMX_SUPPORT
gdm_dmx_reconnect_proxy_SOURCES = \
	gdm-dmx-reconnect-proxy.c

gdm_dmx_reconnect_proxy_LDADD = \
	$(GLIB_LIBS) \
	$(X_EXTRA_LIBS) \     <== Added
	$(X_LIBS) \           <== Added
	-lX11 \
	$(DMX_LIBS)
endif

and run automake then i can compile GDM 2.16.2 with the same settings as with 2.16.1 again, i even do not need to specify any LDFLAGS and DMX-support at least compiles fine. That did fix my problem.

Markus
Comment 7 Brian Cameron 2006-11-06 22:48:01 UTC
Thanks, I fixed this in the CVS head and 2.16 branches.