Summary: | virtualbox-ose_2.0.x does not build | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Saul Peebsen <jaglover> |
Component: | Current packages | Assignee: | Alessio Cassibba (X-Drum) <swapon> |
Status: | RESOLVED TEST-REQUEST | ||
Severity: | normal | CC: | elnone, jordan.w.bradley, nicodache, proucelle.matthieu, wuno |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | define _LINUX_BYTEORDER_SWABB_H in src/VBox/Devices/Storage/DrvHostDVD.cpp |
Description
Saul Peebsen
2008-12-29 15:49:24 UTC
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. *** |