Kernel 2.6.28-gentoo headers 2.6.28-r1 glibc rebuilt Both VBox 2.0.4 and 2.0.6 have same build error: In file included from /usr/include/linux/byteorder/little_endian.h:13, from /usr/include/asm/byteorder.h:79, from /usr/include/linux/cdrom.h:16, from /var/tmp/portage/app-emulation/virtualbox-ose-2.0.6/work/VirtualBox-2.0.6/src/VBox/Devices/Storage/DrvHostDVD.cpp:53: /usr/include/linux/byteorder/swabb.h: In function ‘__u32 __fswahw32(__u32)’: /usr/include/linux/byteorder/swabb.h:94: error: ISO C++ forbids braced-groups within expressions /usr/include/linux/byteorder/swabb.h: In function ‘__u32 __swahw32p(__u32*)’: /usr/include/linux/byteorder/swabb.h:99: error: ISO C++ forbids braced-groups within expressions /usr/include/linux/byteorder/swabb.h: In function ‘__u32 __fswahb32(__u32)’: /usr/include/linux/byteorder/swabb.h:109: error: ISO C++ forbids braced-groups within expressions /usr/include/linux/byteorder/swabb.h: In function ‘__u32 __swahb32p(__u32*)’: /usr/include/linux/byteorder/swabb.h:114: error: ISO C++ forbids braced-groups within expressions CXX Drivers - {C}/Storage/DrvRawImage.cpp CXX Drivers - {C}/Storage/DrvVD.cpp CXX Drivers - {C}/Storage/VBoxHDD.cpp kmk[3]: *** [/var/tmp/portage/app-emulation/virtualbox-ose-2.0.6/work/VirtualBox-2.0.6/out/linux.amd64/release/obj/Drivers/Storage/DrvHostDVD.o] Error 1 emerge --info Portage 2.2_rc20 (default/linux/amd64/2008.0, gcc-4.2.4, glibc-2.9_p20081201-r1, 2.6.28-ge ntoo x86_64) ================================================================= System uname: Linux-2.6.28-gentoo-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q6600_@_2.40GHz-with- glibc2.2.5 Timestamp of tree: Mon, 29 Dec 2008 10:35:01 +0000 distcc 3.1 x86_64-pc-linux-gnu [disabled] ccache version 2.4 [disabled] app-shells/bash: 3.2_p48 dev-java/java-config: 1.3.7-r1, 2.1.6-r1 dev-lang/python: 2.5.2-r8 dev-util/ccache: 2.4-r8 dev-util/cmake: 2.6.2 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.4.1 sys-apps/sandbox: 1.3.2 sys-devel/autoconf: 2.13, 2.63 sys-devel/automake: 1.5, 1.7.9-r1, 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.19 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.28-r1 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe -s" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/font s.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /et c/udev/rules.d" CXXFLAGS="-march=native -O2 -pipe -s" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="ftp://distro.ibiblio.org/pub/linux/distributions/gentoo/ ftp://ftp.gtlib.g atech.edu/pub/gentoo " LC_ALL="en_US.UTF-8" LDFLAGS="-Wl,-O1" LINGUAS="en_US en" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force -- whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude= /packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acpi alsa amd64 audiofile berkdb bzip2 cairo cddb cdparanoia crypt cups dbu s dga dri dts dvb dvd exif fftw fortran gdbm gif gimp gtk hal iconv java6 jbig joystick jp eg jpeg2k lame lcms libsamplerate mad matroska mmx mp3 mplayer multilib mysql ncurses nls nptl nptlonly nsplugin ogg openal opengl pam pcre pdf perl png ppds python readline sdl se ssion sndfile sox sse sse2 ssl svg sysfs threads tidy tiff truetype unicode v4l v4l2 vorbi s xml xorg xscreensaver xulrunner xv zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat lin ear meter mmap_emul mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPU T_DEVICES="keyboard mouse joystick" KERNEL="linux" LINGUAS="en_US en" USERLAND="GNU" VIDEO _CARDS="intel" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, PORTAGE_COMPRE SS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
same here. ERROR : CXX Drivers - {C}/Storage/DrvHostDVD.cpp /usr/include/linux/byteorder/swabb.h: In function '__u32 __fswahw32(__u32)': /usr/include/linux/byteorder/swabb.h:94: erreur: ISO C++ interdit les groupes d'accolades à l'intérieur des expressions /usr/include/linux/byteorder/swabb.h: In function '__u32 __swahw32p(__u32*)': /usr/include/linux/byteorder/swabb.h:99: erreur: ISO C++ interdit les groupes d'accolades à l'intérieur des expressions /usr/include/linux/byteorder/swabb.h: In function '__u32 __fswahb32(__u32)': /usr/include/linux/byteorder/swabb.h:109: erreur: ISO C++ interdit les groupes d'accolades à l'intérieur des expressions /usr/include/linux/byteorder/swabb.h: In function '__u32 __swahb32p(__u32*)': /usr/include/linux/byteorder/swabb.h:114: erreur: ISO C++ interdit les groupes d'accolades à l'intérieur des expressions CXX Drivers - {C}/Storage/DrvHostFloppy.cpp kmk[3]: *** [/var/tmp/portage/app-emulation/virtualbox-ose-2.0.6/work/VirtualBox-2.0.6/out/linux.amd64/release/obj/Drivers/Storage/DrvHostDVD.o] Error 1 The failing command: @x86_64-pc-linux-gnu-g++ -c -O2 -g -Wall -pedantic -Wno-long-long -Wno-trigraphs -Wno-variadic-macros -pipe -O2 -fno-omit-frame-pointer -fno-strict-aliasing -fvisibility-inlines-hidden -fvisibility=hidden -DVBOX_HAVE_VISIBILITY_HIDDEN -DRT_USE_VISIBILITY_DEFAULT -fPIC -m64 -I/var/tmp/portage/app-emulation/virtualbox-ose-2.0.6/work/VirtualBox-2.0.6/src/VBox/Devices -I/var/tmp/portage/app-emulation/virtualbox-ose-2.0.6/work/VirtualBox-2.0.6/src/VBox/Devices/Network/slirp -I/var/tmp/portage/app-emulation/virtualbox-ose-2.0.6/work/VirtualBox-2.0.6/include -I/var/tmp/portage/app-emulation/virtualbox-ose-2.0.6/work/VirtualBox-2.0.6/out/linux.amd64/release -DVBOX -DVBOX_OSE -DVBOX_WITH_64_BITS_GUESTS -DVBOX_WITH_HARDENING -DRTPATH_APP_PRIVATE=\"/usr/share/virtualbox-ose\" -DRTPATH_APP_PRIVATE_ARCH=\"/usr/lib64/virtualbox-ose\" -DRTPATH_SHARED_LIBS=\"/usr/lib64/virtualbox-ose\" -DRTPATH_APP_DOCS=\"\" -DVBOX_WITH_INTERNAL_NETWORKING -DRT_OS_LINUX -D_FILE_OFFSET_BITS=64 -DRT_ARCH_AMD64 -D__AMD64__ -DIN_RING3 -DHC_ARCH_BITS=64 -DGC_ARCH_BITS=64 -DPIC -DIN_IDE_R3 -Wp,-MD,/var/tmp/portage/app-emulation/virtualbox-ose-2.0.6/work/VirtualBox-2.0.6/out/linux.amd64/release/obj/Drivers/Storage/DrvHostDVD.o.dep -Wp,-MT,/var/tmp/portage/app-emulation/virtualbox-ose-2.0.6/work/VirtualBox-2.0.6/out/linux.amd64/release/obj/Drivers/Storage/DrvHostDVD.o -Wp,-MP -o /var/tmp/portage/app-emulation/virtualbox-ose-2.0.6/work/VirtualBox-2.0.6/out/linux.amd64/release/obj/Drivers/Storage/DrvHostDVD.o /var/tmp/portage/app-emulation/virtualbox-ose-2.0.6/work/VirtualBox-2.0.6/src/VBox/Devices/Storage/DrvHostDVD.cpp kmk[3]: *** Waiting for unfinished jobs.... kmk[3]: Leaving directory `/var/tmp/portage/app-emulation/virtualbox-ose-2.0.6/work/VirtualBox-2.0.6/src/VBox/Devices' kmk[2]: *** [pass_libraries_before] Error 2 kmk[2]: Leaving directory `/var/tmp/portage/app-emulation/virtualbox-ose-2.0.6/work/VirtualBox-2.0.6/src/VBox' kmk[1]: *** [pass_libraries_before] Error 2 kmk[1]: Leaving directory `/var/tmp/portage/app-emulation/virtualbox-ose-2.0.6/work/VirtualBox-2.0.6/src' kmk: *** [pass_libraries_before] Error 2 * * ERROR: app-emulation/virtualbox-ose-2.0.6 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 3066: Called die * The specific snippet of code: * MAKE="kmk" emake TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" TOOL_YASM_AS=yasm KBUILD_PATH="${S}/kBuild" all || die "kmk failed" * The die message: * kmk failed EMERGE --INFO : Portage 2.1.6.4 (default/linux/amd64/2008.0, gcc-4.1.2, glibc-2.9_p20081201-r1, 2.6.27-gentoo-r3 x86_64) ================================================================= System uname: Linux-2.6.27-gentoo-r3-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q6600_@_2.40GHz-with-glibc2.2.5 Timestamp of tree: Mon, 29 Dec 2008 17:15:02 +0000 app-shells/bash: 3.2_p48 dev-java/java-config: 1.3.7-r1, 2.1.6-r1 dev-lang/python: 2.4.4-r13, 2.5.2-r8 dev-python/pycrypto: 2.0.1-r6 dev-util/cmake: 2.6.2 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.4.1 sys-apps/sandbox: 1.3.2 sys-devel/autoconf: 2.13, 2.63 sys-devel/automake: 1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.19 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.28-r1 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=athlon64 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-march=athlon64 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox" GENTOO_MIRRORS="ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo ftp://gd.tuwien.ac.at/opsys/linux/gentoo/ ftp://mirror.switch.ch/mirror/gentoo/ " LANG="fr_BE.UTF-8" LC_ALL="fr_BE.UTF-8" LDFLAGS="-Wl,-O1" LINGUAS="fr en_GB" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
Created attachment 177016 [details, diff] define _LINUX_BYTEORDER_SWABB_H in src/VBox/Devices/Storage/DrvHostDVD.cpp According to a comment in src/VBox/Devices/Storage/DrvHostDVD.cpp "/* This is another hack for not bothering with C++ unfriendly byteswap macros. */" the macros provided by swab.h and swabb.h are not compatible with C++. Therefore Virtualbox provides its own swab.h file. By defining _LINUX_BYTEORDER_SWAB_H in src/VBox/Devices/Storage/DrvHostDVD.cpp swab.h from the linux-headers doesn't get included. New in linux-headers-2.6.28 is that beside swab.h also <linux/byteorder/swabb.h> gets included by include/linux/byteorder/little_endian.h. This include makes the trouble with C++ seen in comment 0 and comment 1. By defining also _LINUX_BYTEORDER_SWABB_H, the inclusion of linux/byteorder/swabb.h is omitted and the build succeeds.
Builds fine now, thanks. :)
not a toolchain issue as virtualbox seems to be employing its own silly hacks
Just FYI I opened an upstream ticket http://www.virtualbox.org/ticket/2936
Also happens with virtualbox-ose_2.1.0.
(In reply to comment #6) > Also happens with virtualbox-ose_2.1.0. > the ebuild was fixed in overlay[1] and the patch added (see bug #251335 comment #45) [1] http://overlays.gentoo.org/dev/jokey/
*** Bug 256656 has been marked as a duplicate of this bug. ***
*** Bug 258089 has been marked as a duplicate of this bug. ***
As far as I can tell this has been fixed with 2.1.4. Reopen if it is still an issue with that version.
*** Bug 257791 has been marked as a duplicate of this bug. ***