Please add use flag to virtualbox in order to pass --disable-vmmraw option to the compiller. Actually while emerging virtualbox I recieve this error: Checking for 32-bit support: Cannot execute 32-bit applications! Either enable 32-bit support in the kernel configuration or use --disable-vmmraw to disable 32-bit guests. Check /usr/tmp/portage/app-emulation/virtualbox-4.1.8-r1/work/VirtualBox-4.1.8_OSE/configure.log for details and emerge fails. Also, I will be good, if some information about which kernel parameter user should enable to use 32-bit guests will be added. Reproducible: Always
Created attachment 305727 [details] /usr/tmp/portage/app-emulation/virtualbox-4.1.8-r1/work/VirtualBox-4.1.8_OSE/configure.log
Created attachment 305729 [details] emerge --info
Also, It will be good, if some information about which kernel parameter user should enable to use 32-bit guests will be added. (I can't find a way to edit own comments)
Isn't the required kernel option mentioned in Gentoo amd64 handbook? http://www.gentoo.org/doc/en/handbook/handbook-amd64.xml?part=1&chap=7 > Executable file formats / Emulations ---> > [*] IA32 Emulation
Yes, it is that kernel parameter. Then I think the link to hankbook should be added to error message.
Adding CONFIG_IA32_EMULATION=y to my kernel config did not help. I still get: Checking for 32-bit support: Cannot execute 32-bit applications! Either enable 32-bit support in the kernel configuration or use --disable-vmmraw to disable 32-bit guests. This is with app-emulation/virtualbox-4.1.24 and hardened-sources (3.7.9) Any hints?
(In reply to comment #6) > Adding CONFIG_IA32_EMULATION=y to my kernel config did not help. I still get: > > Checking for 32-bit support: > Cannot execute 32-bit applications! Either enable 32-bit support in the > kernel configuration or use --disable-vmmraw to disable 32-bit guests. > > This is with app-emulation/virtualbox-4.1.24 and hardened-sources (3.7.9) > > Any hints? Huh, could you please check VirtualBox's configure log? For app-emulation/virtualbox-4.1.24 it might be /var/tmp/portage/app-emulation/virtualbox-4.1.24/work/VirtualBox-4.1.24/configure.log . Normally, the last section should resemble: > ***** Checking 32-bit support ***** > compiling the following source file: > #include <stdint.h> > int main(void) > { > return 0; > } > using the following command line: > x86_64-pc-linux-gnu-gcc -m32 -O -Wall -o /var/tmp/portage/app-emulation/virtualbox-4.1.24/work/VirtualBox-4.1.24/.tmp_out /var/tmp/portage/app-emulation/virtualbox-4.1.24/work/VirtualBox-4.1.24/.tmp_src.c > executing the binary
configure.log: ***** Checking compiler.h ***** compiler.h not found ***** Checking 32-bit support ***** compiling the following source file: #include <stdint.h> int main(void) { return 0; } using the following command line: x86_64-pc-linux-gnu-gcc -m32 -O -Wall -o /var/tmp/portage/app-emulation/virtualbox-4.1.24/work/VirtualBox-4.1.24/.tmp_out /var/tmp/portage/app-emulation/virtualbox-4.1.24/work/VirtualBox-4.1.24/.tmp_src.c executing the binary ./configure: line 1764: /var/tmp/portage/app-emulation/virtualbox-4.1.24/work/VirtualBox-4.1.24/.tmp_out: No such file or directory
(In reply to comment #8) > configure.log: > > ***** Checking compiler.h ***** > compiler.h not found > > > ***** Checking 32-bit support ***** > compiling the following source file: > #include <stdint.h> > int main(void) > { > return 0; > } > using the following command line: > x86_64-pc-linux-gnu-gcc -m32 -O -Wall -o > /var/tmp/portage/app-emulation/virtualbox-4.1.24/work/VirtualBox-4.1.24/. > tmp_out > /var/tmp/portage/app-emulation/virtualbox-4.1.24/work/VirtualBox-4.1.24/. > tmp_src.c > executing the binary > ./configure: line 1764: > /var/tmp/portage/app-emulation/virtualbox-4.1.24/work/VirtualBox-4.1.24/. > tmp_out: No such file or directory Huh, sorry, I really don't have an idea what could cause this... Just some wild guesses: 1. You could try to execute the commands manually in a root shell and see what happens: ---- cat > /var/tmp/portage/app-emulation/virtualbox-4.1.24/work/VirtualBox-4.1.24/.tmp_src.c << EOF #include <stdint.h> int main(void) { return 0; } EOF x86_64-pc-linux-gnu-gcc -m32 -O -Wall -o /var/tmp/portage/app-emulation/virtualbox-4.1.24/work/VirtualBox-4.1.24/.tmp_out /var/tmp/portage/app-emulation/virtualbox-4.1.24/work/VirtualBox-4.1.24/.tmp_src.c /var/tmp/portage/app-emulation/virtualbox-4.1.24/work/VirtualBox-4.1.24/.tmp_out ---- 2. You have not touched sandbox settings or compiler settings, right? You may try compiling without sandbox (but with userpriv). 3. Do you have any unusual configuration on your /var/tmp/portage, e.g. a tmpfs? 4. Does this problem occur when compiling other packages, especially those using autoconf? 5. Have you tried newer versions of app-emulation/virtualbox (e.g. 4.2.6-r1)? 6. Would you mind showing us your emerge --info?
if use amd64 && ! has_multilib_profile ; then myconf+=( --disable-vmmraw ) fi