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 585315 - Build failure: insufficient test for XInput
Build failure: insufficient test for XInput
Status: RESOLVED FIXED
Product: gnome-settings-daemon
Classification: Core
Component: plugins
2.26.x
Other Mac OS
: Normal normal
: ---
Assigned To: gnome-settings-daemon-maint
gnome-settings-daemon-maint
Depends on:
Blocks:
 
 
Reported: 2009-06-10 08:03 UTC by Daniel Macks
Modified: 2009-10-25 14:04 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Daniel Macks 2009-06-10 08:03:06 UTC
Building gnome-settings-daemon-2.26.1 on OS X 10.4 with apple's X11 and all
gnome support libs supplied by Fink at the level of GNOME2.26 fails:

/bin/sh ../../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I../..  -I../../gnome-settings-daemon -DGNOME_SETTINGS_LOCALEDIR=\""/sw/share/locale"\"  -I/sw/lib/fontconfig2/include -I/sw/include -I/sw/include  -I/usr/X11R6/include -I/sw/include  -I/usr/X11R6/include -I/sw/include  -I/usr/X11R6/include -I/sw/lib/fontconfig2/include -I/sw/include/gtk-2.0 -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include -I/sw/include/libpng12 -I/sw/include/gconf/2 -I/sw/include/orbit-2.0 -I/sw/include/dbus-1.0 -I/sw/lib/dbus-1.0/include -I/sw/include/gnome-desktop-2.0 -I/sw/include/startup-notification-1.0 -I/sw/include/libglade-2.0 -I/sw/include/libxml2 -I/usr/X11R6/include -I/usr/X11/include -DORBIT2=1   -Os -pipe -c -o libmouse_la-gsd-mouse-manager.lo `test -f 'gsd-mouse-manager.c' || echo './'`gsd-mouse-manager.c
 gcc -DHAVE_CONFIG_H -I. -I../.. -I../../gnome-settings-daemon -DGNOME_SETTINGS_LOCALEDIR=\"/sw/share/locale\" -I/sw/lib/fontconfig2/include -I/sw/include -I/sw/include -I/usr/X11R6/include -I/sw/include -I/usr/X11R6/include -I/sw/include -I/usr/X11R6/include -I/sw/lib/fontconfig2/include -I/sw/include/gtk-2.0 -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include -I/sw/include/libpng12 -I/sw/include/gconf/2 -I/sw/include/orbit-2.0 -I/sw/include/dbus-1.0 -I/sw/lib/dbus-1.0/include -I/sw/include/gnome-desktop-2.0 -I/sw/include/startup-notification-1.0 -I/sw/include/libglade-2.0 -I/sw/include/libxml2 -I/usr/X11R6/include -I/usr/X11/include -DORBIT2=1 -Os -pipe -c gsd-mouse-manager.c  -fno-common -DPIC -o .libs/libmouse_la-gsd-mouse-manager.o
gsd-mouse-manager.c: In function 'devicepresence_filter':
gsd-mouse-manager.c:322: error: 'XDevicePresenceNotifyEvent' undeclared (first use in this function)
gsd-mouse-manager.c:322: error: (Each undeclared identifier is reported only once
gsd-mouse-manager.c:322: error: for each function it appears in.)
gsd-mouse-manager.c:322: error: 'dpn' undeclared (first use in this function)
gsd-mouse-manager.c:322: error: parse error before ')' token
gsd-mouse-manager.c:323: error: 'DeviceEnabled' undeclared (first use in this function)
make[3]: *** [libmouse_la-gsd-mouse-manager.lo] Error 1


configure correctly found that I do have have XInput:

checking for XListInputDevices in -lXi... yes
checking for X11/extensions/XInput.h... yes

but the XDevicePresenceNotifyEvent struct and associated functionality was only introduced in very recent versions of XInput. I don't know "how very recent", but I see reports of this same symptom (from different package) on "whatever X11 comes with SLES 10".

If gsd-mouse-manager.c requires this functionality, need to autoconf test for it to make sure XInput is new enough rather than (or in addition to) the long-existing XListInputDeviceswhat symbol. I don't know anything about this feature (in x11 or as used by g-s-d) so I don't know if there can be an alternative implementation using older XInput or if the parts of gsd-mouse-manager.c can be disabled piecewise (i.e., if "have xinput but it's old"), or if it's easiest just to disable xinput use entirely unless it's new enough.
Comment 1 Jens Granseuer 2009-10-25 14:04:36 UTC
commit 5fdf07cfdf10be0e0e5c71084bf6adfcf074ae8b
Author: Jens Granseuer <...>
Date:   Sun Oct 25 15:01:20 2009 +0100

    Tighten check for XInput
    
    Check for XDevicePresenceNotifyEvent to make sure the version
    of XInput available is recent enough (bug #585315).