Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 314615 - x11-base/xorg-server-1.7.6 fails with gcc3 preprocessor
Summary: x11-base/xorg-server-1.7.6 fails with gcc3 preprocessor
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Server (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-11 05:51 UTC by Arthur Hagen
Modified: 2010-04-25 15:36 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Arthur Hagen 2010-04-11 05:51:10 UTC
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.
Comment 1 Chí-Thanh Christopher Nguyễn gentoo-dev 2010-04-11 11:53:18 UTC
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.
Comment 2 Chí-Thanh Christopher Nguyễn gentoo-dev 2010-04-25 15:36:25 UTC
Resolving NEEDINFO, please reopen when you can give the upstream bug url.