Hi, just another package that fails with linux26-headers. Here is the output: gcc -c -O2 -fno-strict-aliasing -fsigned-char -mminimal-toc -I../../../../../../programs/Xserver/hw/xfree86/common -I../../../../../../programs/Xserver/hw/xfree86/os-support -I. -I../../../../../../programs/Xserver/include -I../../../../../../exports/include/X11 -I../../../../../../include/extensions -I../../../../../../programs/Xserver/hw/xfree86/os-support/shared -I../../../../../../programs/Xserver/mi -I../../../../../.. -I../../../../../../exports/include -Dlinux -D__powerpc64__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -DSHAPE -DXINPUT -DXKB -DLBX -DXAPPGROUP -DXCSECURITY -DTOGCUP -DXF86BIGFONT -DDPMSExtension -DPIXPRIV -DPANORAMIX -DRENDER -DRANDR -DGCCUSESGAS -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH -DXFreeXDGA -DXvExtension -DXFree86LOADER -DDLOPEN_HACK -DXFree86Server -DXF86VIDMODE -DXvMCExtension -DSMART_SCHEDULE -DBUILDDEBUG -DXResExtension -DX_BYTE_ORDER=X_BIG_ENDIAN -DXORG_VERSION_CURRENT="(((6) * 10000000) + ((7) * 100000) + ((0) * 1000) + 0)" -D_XSERVER64 -DNDEBUG -DFUNCPROTO=15 -DNARROWPROTO -DUSESTDRES -DHAVE_SYSV_IPC -DXVENDORNAME='"The X.Org Foundation"' -DXVENDORNAMESHORT='"X.Org"' lnx_KbdMap.c In file included from /usr/include/asm/atomic.h:16, from /usr/include/asm/processor.h:16, from /usr/include/linux/prefetch.h:15, from /usr/include/linux/list.h:5, from /usr/include/linux/wait.h:12, from /usr/include/linux/keyboard.h:4, from lnx_KbdMap.c:108: /usr/include/asm/memory.h:26:30: macro "eieio" passed 1 arguments, but takes just 0 In file included from /usr/include/asm/atomic.h:16, from /usr/include/asm/processor.h:16, from /usr/include/linux/prefetch.h:15, from /usr/include/linux/list.h:5, from /usr/include/linux/wait.h:12, from /usr/include/linux/keyboard.h:4, from lnx_KbdMap.c:108: /usr/include/asm/memory.h:27: error: syntax error before '{' token make[7]: *** [lnx_KbdMap.o] Error 1 make[7]: Leaving directory `/var/tmp/portage/xorg-x11-6.7.0-r2/work/xc/programs/Xserver/hw/xfree86/os-support/linux' make[6]: *** [linux] Error 2 make[6]: Leaving directory `/var/tmp/portage/xorg-x11-6.7.0-r2/work/xc/programs/Xserver/hw/xfree86/os-support' make[5]: *** [all] Error 2 make[5]: Leaving directory `/var/tmp/portage/xorg-x11-6.7.0-r2/work/xc/programs/Xserver/hw/xfree86' make[4]: *** [hw/xfree86] Error 2 make[4]: Leaving directory `/var/tmp/portage/xorg-x11-6.7.0-r2/work/xc/programs/Xserver' make[3]: *** [all] Error 2 make[3]: Leaving directory `/var/tmp/portage/xorg-x11-6.7.0-r2/work/xc/programs' make[2]: *** [all] Error 2 make[2]: Leaving directory `/var/tmp/portage/xorg-x11-6.7.0-r2/work/xc' make[1]: *** [World] Error 2 make[1]: Leaving directory `/var/tmp/portage/xorg-x11-6.7.0-r2/work/xc' make: *** [World] Error 2 !!! ERROR: x11-base/xorg-x11-6.7.0-r2 failed. !!! Function src_compile, Line 584, Exitcode 2 !!! (no error message) I'm using gcc-3.4.1 and linux26-headers-2.6.8.1-r1. Markus
*** Bug 66398 has been marked as a duplicate of this bug. ***
Want to try "sed -i -e 's/inline/__inline__/g' /usr/include/asm/memory.h" and see if that helps?
Hi, no this didn't fixed the problem. Same error. Markus
Ok, would somebody mind uploading a tarball.bz2 of /usr/include please? Thanks...
Well, too big to be uploaded.
Created attachment 42967 [details] My /usr/include files(1)
Created attachment 42969 [details] My /usr/include files(2)
Created attachment 42971 [details] My /usr/include files(3)
Created attachment 42972 [details] My /usr/include files(4)
Created attachment 42973 [details] My /usr/include files(5)
Created attachment 42974 [details] My /usr/include files(6)
Created attachment 42975 [details] My /usr/include files(7)
closing
sry.. wrong bug...
Would you mind explaining a little bit, what's "wrong bug"?
I accidently marked this bug as fixed... sry.. ( don't ask how ;-) - to stupid... ) Markus
Ok, if you replace: __asm__ __volatile__ ("eieio" : : : "memory"); ... in <asm/memory.h> with: __asm__ __volatile__ ("eieio" : : ); ... what happens?
I just tried, the same problem remained as before.
I noticed the xorg-x11-6.8.0-r3 marked as stable on ppc64. I tried to emerge it but failed with the same problem here reported. Why is marked as stable while the problem persists?
the 6.8.0-r3 ebuild was marked stable, because it works great with linux-headers and fixed a security bug. This bug #66223 occures with linux26-headers. we currently have _no_ ebuild of xorg-x11 which builds under linux26-headers... Please do this: 1) emerge unmerge linux26-headers 2) emerge linux-headers 3) emerge xorg-x11 4) emerge unmerge linux-headers 5) emerge linux26-headers Greets, Markus
I *hate* links2...
The bug is an xorg-x11 one, not a linux26-headers bug. in programs/Xsserver/hw/xfree86/common/compiler.h you can find this macro: #define eieio() __asm__ __volatile__ ("eieio" ::: "memory"); which conflicts with the kernel one (which is a static inline function). Doing an #undef eieio in the files that don't compile before including <linux/keyboard.h> would solve the problem (but it's a clean solution). So linux26-headers are absolutely not buggy, here.
Sorry, wanted to say: "it's not a clean solution", of course !
Whee, so it is an X bug after all - I was wondering what the headers had broken here. Ok, I think the best solution for this would be the following in <programs/Xsserver/hw/xfree86/common/compiler.h> instead of the #define eieio we have now: #include <asm/memory.h> #ifndef eieio /* We deal with arch-specific eieio() routines above... */ # define eieio __asm__ __volatile__ ("eieio" ::: "memory"); #endif X Team, please comment/fix...
Created attachment 46363 [details, diff] xorg-x11-ppc64-linux26-headers.patch I've verified that this works on ppc64. Here is an "ready to add" patch. X11 Team, please add it to portage, or give me the permission to do so. Markus
ajax or anyone else, can you think of a reason this shouldn't go upstream? I think we should push it for 6.8.2.
I've added this to 6.8.1.901. Please test and mark ~ppc64 as appropriate. I may be able to add it to 6.8.0-r4 too if there is demand.
Created attachment 46371 [details, diff] ppc64-26headers.patch At ajax's request, this patch adds a check for whether linux is defined because asm/memory.h doesn't exist on all systems. Should be suitable for upstream.
Created attachment 46372 [details, diff] ppc64-26headers.patch Oops, should only wrap the #include in defined(linux)
attachment #46372 [details, diff] upstreamed as https://bugs.freedesktop.org/show_bug.cgi?id=2114
Following this upstream for now.
could the patch please be added to xorg-x11-6.8.0-r4? Markus
Done. Better test it quick, I'm going on vacation tomorrow.
this one is fixed. closing