Bug 82990

Summary: Many drivers fail to build when xserver 1.16.0 is built against glibc-2.20
Product: xorg Reporter: Armin K <krejzi>
Component: Server/GeneralAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED INVALID QA Contact: Xorg Project Team <xorg-team>
Severity: major    
Priority: medium    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Armin K 2014-08-23 13:31:32 UTC
While building drivers against xserver-1.16 compiled on a glibc-2.20 system, I seem to be getting a lot of errors like these:

In file included from /usr/include/string.h:634:0,
                 from /usr/include/xorg/os.h:53,
                 from /usr/include/xorg/misc.h:115,
                 from /usr/include/xorg/xf86str.h:37,
                 from /usr/include/xorg/xf86Xinput.h:54,
                 from synproto.h:36,
                 from synproto.c:26:
/usr/include/xorg/os.h:579:1: error: expected identifier or '(' before '__extension__'
 strndup(const char *str, size_t n);

Looks like xserver is redefining stuff that's now part of glibc-2.20. I am not sure what. I have built two drivers, xf86-input-vmmouse and xf86-input-synaptics and both fail to build with same error. I suppose there would be more.
Comment 1 Michel Dänzer 2014-08-25 09:54:24 UTC
I think this happens when the driver fails to #include xorg-server.h before other X server headers. (This can also apply to configure script probes)

Current xserver Git has a check for this and provides a clearer error message.
Comment 2 Armin K 2015-09-06 13:51:55 UTC
Apparently this has been fixed in drivers, no changes were needed for xorg-server

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.