i tried to emerge qt kdebase and kdemultimedia to recompile with new gcc i already have these emerged. i guess it has something to do with the new kernel-headers-2.4.21 ebuild which i previously emerged. i am uptodate emerged with ~x86, i just wanted to reemerge some stuff. Reproducible: Always Steps to Reproduce: 1. emerge kdemultimedia Actual Results: g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/kde/3.1/include -I/usr/qt/3/include -I/usr/X11R6/include -static -Wall -DDATADIR=\"/usr/ kde/3.1/share/apps/kaudiocreator\" -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -DNDEBUG -DNO_DEBUG -O2 -O2 -mcpu=i686 - pipe -fno-exceptions -fno-check-new -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -c -o cdconfigimp.o `te st -f 'cdconfigimp.cpp' || echo './'`cdconfigimp.cpp In file included from /usr/include/linux/cdrom.h:14, from cdconfigimp.cpp:79: /usr/include/asm/byteorder.h:38: error: syntax error before `(' token /usr/include/asm/byteorder.h:42: error: '__u64' is used as a type, but is not defined as a type. /usr/include/asm/byteorder.h:43: error: parse error before `}' token /usr/include/asm/byteorder.h:44: error: syntax error before `.' token /usr/include/asm/byteorder.h:50: error: syntax error before `.' token /usr/include/asm/byteorder.h:51: error: syntax error before `.' token /usr/include/asm/byteorder.h:52: error: parse error before `:' token cdconfigimp.cpp:82: error: parse error before `}' token make[3]: *** [cdconfigimp.o] Error 1 make[3]: Leaving directory `/var/tmp/portage/kdemultimedia-3.1.4-r1/work/ kdemultimedia-3.1.4/kaudioc reator' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/kdemultimedia-3.1.4-r1/work/ kdemultimedia-3.1.4/kaudioc reator' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/kdemultimedia-3.1.4-r1/work/ kdemultimedia-3.1.4' make: *** [all] Error 2 !!! ERROR: kde-base/kdemultimedia-3.1.4-r1 failed. !!! Function kde_src_compile, Line 137, Exitcode 2 !!! died running emake, kde_src_compile:make bash-2.05b# Expected Results: emerge the kdemultimedia ebuild bash-2.05b# emerge info Portage 2.0.49-r15 (default-x86-1.4, gcc-3.3.1, glibc-2.3.2-r6, 2.4.22) ================================================================= System uname: 2.4.22 i686 AMD Athlon(TM) XP 2000+ Gentoo Base System version 1.4.3.11 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -O3 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/ share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/ texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/ config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O2 -mcpu=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="sandbox ccache autoaddcvs" GENTOO_MIRRORS="ftp://gentoo.inode.at/source/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 oss apm avi crypt cups encode foomaticdb gif jpeg libg++ mad mikmod mpeg ncurses nls pdflib png quicktime spell truetype xml2 xv zlib alsa gdbm berkdb slang readline arts tetex aalib tcltk java X sdl tcpd pam libwww ssl perl python imlib oggvorbis gtk qt kde motif opengl gphoto2 cdr acpi artswrappersuid dv dvb dvd dvdr gd imagemagick imap pic samba sse usb -gpm -gnome -svga -xmms" i have a busy litte machine... but no problems bash-2.05b# pstree init-+-6*[agetty] |-artsd---artsd---artsd |-bdflush |-cron |-cupsd |-devfsd |-dhcpcd |-kalarmd |-kdeinit-+-8*[kdeinit] | |-kdeinit---bash---su---bash---pstree | |-2*[kdeinit---bash] | |-kdeinit---bash---ssh | |-kdeinit---bash---su---bash | |-kdeinit---bash---telnet | |-kmoon | `-vmware---vmware-vmx-+-vmware-mks | |-3*[vmware-vmx] | `-vmware-vmx---vmware-vmx |-12*[kdeinit] |-kdm-+-X | `-kdm---kde-3.1.4---startkde---kwrapper |-keventd |-khubd |-klogd |-korgac |-kreiserfsd |-ksoftirqd_CPU0 |-kswapd |-kupdated |-kweatherservice |-mount.smbfs |-nmbd |-ntpd |-screen---bash---mlnet |-smbd---smbd |-syslogd |-uptimed |-vmnet-bridge |-vmnet-dhcpd |-vmnet-natd `-vmnet-netifup
article about this problem: http://lwn.net/Articles/38384/ duplicate of 26981 *** This bug has been marked as a duplicate of 26981 ***
this patch fixes the problem for me. but kernel-headers or kdemultimedia have to be patched. are the kde developers aware of this problem or is it gentoo specific? diff -Naur /usr/src/linux-2.4.22/include/asm-i386/byteorder.h /usr/include/asm/byteorder.h --- /usr/src/linux-2.4.22/include/asm-i386/byteorder.h 2003-09-27 18:03:50.000000000 +0200 +++ /usr/include/asm/byteorder.h 2003-10-28 23:10:41.000000000 +0100 @@ -34,7 +34,7 @@ return x; } - +#if !defined(__STRICT_ANSI__) || defined(__KERNEL__) static inline __u64 ___arch__swab64(__u64 val) { union { @@ -54,12 +54,16 @@ return v.u; } + + #define __arch__swab64(x) ___arch__swab64(x) +#define __BYTEORDER_HAS_U64__ +#endif + + #define __arch__swab32(x) ___arch__swab32(x) #define __arch__swab16(x) ___arch__swab16(x) -#define __BYTEORDER_HAS_U64__ - #endif /* __GNUC__ */ #include <linux/byteorder/little_endian.h>
*** This bug has been marked as a duplicate of 32246 ***
it's not prudent to hack the headers... the cleanest solution is to modify the ebuild by appending " --disable-strict --disable-warnings" to the myconf variable as follows:- #myconf="$myconf --enable-xaw --enable-ncurses" myconf="$myconf --enable-xaw --enable-ncurses --disable-strict --disable-warnings" the above will ensure that the configure script will generate makefiles without the -ansi and -pedantic CFALGS
Created attachment 19945 [details] Fixed ebuild for kdemultimedia-3.1.4-r1 Fixed ebuild for kdemultimedia-3.1.4-r1 to ensure that makefiles are generated free of the -ansi and -pedentic CFLAGS This was achieved by apending "--disable-strict --disable-warnings" to the myconf variable in the ebuild. This is much cleaner than hacking the headers