mercredi 30 septembre 2009

compilation virtualbox failed

Problème :

La compilation de virtual-box échoue :

...
>>> Failed to emerge app-emulation/virtualbox-modules-1.6.6-r1, Log file:

>>> '/var/tmp/portage/app-emulation/virtualbox-modules-1.6.6-r1/temp/build.log'

* Messages for package app-emulation/virtualbox-modules-1.6.6-r1:

*
* ERROR: app-emulation/virtualbox-modules-1.6.6-r1 failed.
* Call stack:
* ebuild.sh, line 49: Called src_compile
* environment, line 3365: Called linux-mod_src_compile
* environment, line 2605: Called die
* The specific snippet of code:
* eval "emake HOSTCC=\"$(tc-getBUILD_CC)\" CROSS_COMPILE=${CHOST}- LDFLAGS=\"$(get_abi_LDFLAGS)\" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}";
* The die message:
* Unable to emake HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS= KERN_DIR=/usr/src/linux KERNOUT=/usr/src/linux all
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/app-emulation/virtualbox-modules-1.6.6-r1/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/app-emulation/virtualbox-modules-1.6.6-r1/temp/environment'.
...


Solution :

La version stable de virtualbox est trop vieille pour ce noyau.Il faut donc récupérer les packets en x86 de virtualbox.
Pour cela, ajoutez dans /etc/portage/package.keywords :

app-emulation/virtualbox-ose ~x86
app-emulation/virtualbox-modules ~x86
app-emulation/virtualbox-ose-additions ~x86
dev-util/kbuild ~x86


Puis emerge app-emulation/virtualbox-ose

PoweredByGento