Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 253004 - virtualbox-ose_2.0.x does not build
Summary: virtualbox-ose_2.0.x does not build
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Alessio Cassibba (X-Drum)
URL:
Whiteboard:
Keywords:
: 256656 257791 258089 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-12-29 15:49 UTC by Saul Peebsen
Modified: 2009-04-15 16:36 UTC (History)
5 users (show)

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


Attachments
define _LINUX_BYTEORDER_SWABB_H in src/VBox/Devices/Storage/DrvHostDVD.cpp (VBox-kernel-headers-2.6.28.patch,487 bytes, patch)
2009-01-01 18:17 UTC, Walter Meinl
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Saul Peebsen 2008-12-29 15:49:24 UTC
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
Comment 1 nicodache 2008-12-29 20:38:48 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"
Comment 2 Walter Meinl 2009-01-01 18:17:43 UTC
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.
Comment 3 Saul Peebsen 2009-01-01 20:06:16 UTC
Builds fine now, thanks. :)
Comment 4 SpanKY gentoo-dev 2009-01-01 22:43:25 UTC
not a toolchain issue as virtualbox seems to be employing its own silly hacks
Comment 5 Walter Meinl 2009-01-02 09:27:14 UTC
Just FYI I opened an upstream ticket
http://www.virtualbox.org/ticket/2936
Comment 6 Juergen Rose 2009-01-07 12:35:57 UTC
Also happens with virtualbox-ose_2.1.0.
Comment 7 Alessio Cassibba (X-Drum) 2009-01-08 23:47:01 UTC
(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/

Comment 8 Tiziano Müller (RETIRED) gentoo-dev 2009-02-04 16:07:37 UTC
*** Bug 256656 has been marked as a duplicate of this bug. ***
Comment 9 Alessio Cassibba (X-Drum) 2009-02-08 17:38:00 UTC
*** Bug 258089 has been marked as a duplicate of this bug. ***
Comment 10 Patrick Lauer gentoo-dev 2009-03-21 11:45:26 UTC
As far as I can tell this has been fixed with 2.1.4.
Reopen if it is still an issue with that version.
Comment 11 Markus Ullmann (RETIRED) gentoo-dev 2009-04-15 16:36:03 UTC
*** Bug 257791 has been marked as a duplicate of this bug. ***