Xcursor relies on a configure check to determine if the Xfixes library is available, but when imake is used to build Xcursor that check isn't run, which causes the calls to XFixesSetCursorName() to be #ifdefed out. Adding -DHAVE_XFIXES to CFLAGS and linking to libXfixes should fix the problem.
Created attachment 580 [details] [review] Xfixes support for Xcursor when using imake This is a first hack at a patch to make this work. May not be the Right Way; Should I just change SharedXcursorReqs in the config/cf tree?
Our rpms build xorg with Xfixes and Xcursor and do not experience this problem. Is it possible this was a bug that has been fixed for a while now but the bug left open?
Xcursor built in monolith CVS head still was not calling XFixesSetCursorName, but adding this patch made it do so, so I went ahead and committed a subset of it: @@ -40,11 +41,16 @@ XRENDER_CFLAGS=-I$(INCROOT) #endif +#if BuildXfixesLibrary +XFIXES_DEFINES = -DHAVE_XFIXES +REQUIREDLIBS += $(XFIXESLIB) +#endif + RPATH_CFLAG = HardCodeLibdirFlag ICONDIR=$(LIBDIR)/icons -DEFINES=-DICONDIR=\"$(ICONDIR)\" +DEFINES=-DICONDIR=\"$(ICONDIR)\" $(XFIXES_DEFINES) SRCS = cursor.c display.c file.c library.c xlib.c I'm not sure if any of the rest is necessary or not - this was enough to have nm show that libXcursor now included calls to XFixesSetCursorName and for ldd to show that libXcursor was linked against libXfixes. I'll leave this open in case anyone else wants to work on that (though I suspect it will be closed as "WONTFIX - monolith is dead" in a year or so).
monolith is dead
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.