GNOME Bugzilla – Bug 319994
Xevie support checks in configure.in do not work on Fedora Core 4
Last modified: 2006-07-19 11:33:30 UTC
Distribution/Version: Fedora Core 4 1. On Fedora Core 4, run ./autogen.sh --prefix=/usr 2. The XEvie support will never be built The problem is that the Xevie.h file requires the include of X11/Xdefs.h to work. So...without this, the AC_CHECK_HEADER test around line 165 of configure.in will fail. I dug for docs on AC_CHECK_HEADER, and I came up with the attached patch. I'm not fully comfortable with this patch, though, as I'm not quite sure what logic is going on here. To me, it seems like the following: o Some distros will wrap all extensions into one shared library, libXext (is this true?), so the first check sees if there is some xevie random symbol (XevieStart) in libXext. o Failing the first check, it may be the case that the distro ships separate shared libraries for each extension. So, the next check to see if there is some random xevie symbol (XevieQueryVersion) in libXevie. If there is, it then makes sure the Xevie header file is OK (I'm not sure why the first check doesn't check for the header file as well). The changes I made were as follows: o For the second check, use libXevie instead of libXext to find the symbol. It seems like this is the right thing to do. But...I am puzzled by one checking for XevieStart and the other checking for XevieQueryExtension. Perhaps there is some history or something else here I just don't understand. o Add Xlib.h to the list of includes that will be used for AC_CHECK_HEADER. Without this, the Xevie header file will produce compilation errors due to missing definitions (e.g., Display). Will
Created attachment 53954 [details] [review] Patch to configure.in
Just to follow up on this - I'm not sure one actually wants to enable the XEVIE support in the AT-SPI on Fedora Core 4 just yet. When I do so, the X Window System Server seg faults somewhere in CoreProcessKeyboardEvent the first time I press a key, apparently regardless if an assistive technology is running or not. I'm guessing this is in Xserver dix/events.c, but the X server I'm using has no debug symbols in it.
Will, I think your patch is correct. I also think it's probably time to go ahead and commit it; if FC4 is still busted then I suppose we can ask distros/rool-your-own users to either re-build w Xevie support turned off (--enable-xevie=no) or upgrade their X server.
Thanks Bill! A bigger question here is whether XEvIE is going to be around much longer. I was recently given the impression by Keith Packard that XEvIE is not being well supported and is on its death bed. :-(
Well, Xevie is absolutely essential to accessibility. It's a question for our X folks I suppose, as they are the ones who crafted and pushed for the specific implementation and APIs.
marking patch "needs work" since it breaks Xevie detection on JDS3.
Created attachment 69169 [details] [review] this one works better - adds -lXext to the AC_LIB check for XevieQueryVersion I am committing this patch - however I'd appreciate info as to whether it works correctly on other Xserver configurations.