x11-base/xorg-server-1.7.6 has no requirement for gcc >= 4, but seems to contain a gcc4'ism in sdksyms.c, which fails to compile. Some select error messages: sdksyms.c:391: error: syntax error before "void" sdksyms.c:401: error: syntax error before "int" The corresponding lines in sdksyms.c read: (void *) &void, ... (void *) &int, The problem seems to be the awk statement in sdksyms.sh that generates sdksyms.c, which assumes gcc4 preprocessor output. If forcing cpp-4.3.4, everything is fine, but with cpp-3.4.6, it fails: loader # rm sdksyms.c; make CPP=cpp-4.3.4 CC sdksyms.o sdksyms.c:2: warning: ignoring #pragma GCC diagnostic sdksyms.c:774: warning: `SecurityLookupIDByType' is deprecated (declared at ../../../include/resource.h:265) sdksyms.c:775: warning: `SecurityLookupIDByClass' is deprecated (declared at ../../../include/resource.h:272) sdksyms.c:776: warning: `LookupIDByType' is deprecated (declared at ../../../include/resource.h:277) sdksyms.c:777: warning: `LookupIDByClass' is deprecated (declared at ../../../include/resource.h:282) sdksyms.c:1493: warning: `miPointerCurrentScreen' is deprecated (declared at ../../../mi/mipointer.h:116) LINK libloader.la loader # rm sdksyms.c; make CPP=cpp-3.4.6 CC sdksyms.o sdksyms.c:2: warning: ignoring #pragma GCC diagnostic sdksyms.c:391: error: syntax error before "void" sdksyms.c:401: error: syntax error before "int" sdksyms.c:402: error: initializer element is not constant sdksyms.c:402: error: (near initialization for `xorg_symbols[75]') sdksyms.c:420: error: syntax error before "XID" sdksyms.c:421: error: initializer element is not constant sdksyms.c:421: error: (near initialization for `xorg_symbols[93]') sdksyms.c:423: error: syntax error before "unsigned" sdksyms.c:424: error: initializer element is not constant sdksyms.c:424: error: (near initialization for `xorg_symbols[95]') sdksyms.c:483: error: syntax error before "void" sdksyms.c:484: error: initializer element is not constant sdksyms.c:484: error: (near initialization for `xorg_symbols[154]') sdksyms.c:510: error: syntax error before "RealChildHeadProc" sdksyms.c:511: error: initializer element is not constant sdksyms.c:511: error: (near initialization for `xorg_symbols[180]') sdksyms.c:596: error: `list' undeclared here (not in a function) sdksyms.c:596: error: initializer element is not constant sdksyms.c:596: error: (near initialization for `xorg_symbols[265]') sdksyms.c:640: error: `ev' undeclared here (not in a function) sdksyms.c:640: error: initializer element is not constant sdksyms.c:640: error: (near initialization for `xorg_symbols[309]') sdksyms.c:774: warning: `SecurityLookupIDByType' is deprecated (declared at ../../../include/resource.h:265) sdksyms.c:775: warning: `SecurityLookupIDByClass' is deprecated (declared at ../../../include/resource.h:272) sdksyms.c:776: warning: `LookupIDByType' is deprecated (declared at ../../../include/resource.h:277) sdksyms.c:777: warning: `LookupIDByClass' is deprecated (declared at ../../../include/resource.h:282) sdksyms.c:790: error: syntax error before "char" sdksyms.c:791: error: initializer element is not constant sdksyms.c:791: error: (near initialization for `xorg_symbols[459]') sdksyms.c:871: error: syntax error before "void" sdksyms.c:872: error: initializer element is not constant sdksyms.c:872: error: (near initialization for `xorg_symbols[539]') sdksyms.c:877: error: syntax error before "void" sdksyms.c:917: error: syntax error before "DamagePtr" sdksyms.c:919: error: syntax error before "DrawablePtr" sdksyms.c:939: error: syntax error before "ClientPtr" sdksyms.c:940: error: initializer element is not constant sdksyms.c:940: error: (near initialization for `xorg_symbols[600]') sdksyms.c:964: error: syntax error before "xEvent" sdksyms.c:965: error: initializer element is not constant sdksyms.c:965: error: (near initialization for `xorg_symbols[624]') sdksyms.c:1121: error: syntax error before "void" sdksyms.c:1122: error: initializer element is not constant sdksyms.c:1122: error: (near initialization for `xorg_symbols[780]') sdksyms.c:1129: error: syntax error before "ScreenPtr" sdksyms.c:1130: error: initializer element is not constant sdksyms.c:1130: error: (near initialization for `xorg_symbols[787]') sdksyms.c:1200: error: syntax error before "pointer" sdksyms.c:1201: error: initializer element is not constant sdksyms.c:1201: error: (near initialization for `xorg_symbols[857]') sdksyms.c:1422: error: syntax error before "ScreenPtr" sdksyms.c:1423: error: initializer element is not constant sdksyms.c:1423: error: (near initialization for `xorg_symbols[1078]') sdksyms.c:1437: error: syntax error before "char" sdksyms.c:1438: error: initializer element is not constant sdksyms.c:1438: error: (near initialization for `xorg_symbols[1092]') sdksyms.c:1443: error: syntax error before "void" sdksyms.c:1445: error: syntax error before "XF86ConfigPtr" sdksyms.c:1493: warning: `miPointerCurrentScreen' is deprecated (declared at ../../../mi/mipointer.h:116) sdksyms.c:1503: error: syntax error before "ScreenPtr" sdksyms.c:1504: error: initializer element is not constant sdksyms.c:1504: error: (near initialization for `xorg_symbols[1153]') sdksyms.c:1548: error: syntax error before "ScreenPtr" sdksyms.c:1549: error: initializer element is not constant sdksyms.c:1549: error: (near initialization for `xorg_symbols[1197]') sdksyms.c:1550: error: syntax error before "ScreenPtr" sdksyms.c:1555: error: syntax error before "ScrnInfoPtr" sdksyms.c:1703: error: syntax error before "int" sdksyms.c:1705: error: syntax error before "XISBuffer" sdksyms.c:1707: error: syntax error before "XISBuffer" sdksyms.c:1725: error: syntax error before "void" sdksyms.c:1726: error: initializer element is not constant sdksyms.c:1726: error: (near initialization for `xorg_symbols[1363]') sdksyms.c:1799: error: syntax error before "void" sdksyms.c:1801: error: syntax error before "char" make: *** [sdksyms.lo] Error 1 Either xorg-server-1.7.6 should be keyed to gcc4, or (better) the awk snippet that generates the .c file should be fixed to also handle cpp-3 output. As far as I know, this used to work in earlier versions of xorg-server.
We could maybe add a gcc-3 check to the ebuild, but the actual compile fix should be implemented upstream. Please visit https://bugs.freedesktop.org/ and report a bug there if none already exists, then post the url here.
Resolving NEEDINFO, please reopen when you can give the upstream bug url.