Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 922376 - app-emulation/virtualbox: Ability to disable 32-bit support in virtualbox is missing
Summary: app-emulation/virtualbox: Ability to disable 32-bit support in virtualbox is ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Viorel Munteanu
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-01-18 12:34 UTC by Mark
Modified: 2024-05-25 09:53 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mark 2024-01-18 12:34:26 UTC
I am currently using kernel 6.7.0 and virtualbox 7.0.12. As the 7.0.14 update for virtualbox came in, I found that the configure step exits with an 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.

But it is not a 7.0.14 issue, 7.0.12 also gets this error with kernel 6.7.0 (so my virtualbox installation is older than the kernel).

Kernel 6.7 changed the 32bit support behaviour, see https://www.phoronix.com/news/Linux-6.7-IA32-Emulation-Boot and https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=a11e097504ac1889b35b6858f495565838325f88

My kernel allows 32bit emulation but disables it by default as I want to ensure there is no 32bit legacy left, here is the snippet from the kernel .config file:

CONFIG_IA32_EMULATION=y
CONFIG_IA32_EMULATION_DEFAULT_DISABLED=y

I modified the ebuild and added --disable-vmmraw to src_configure() and virtualbox was able to build (and run openSUSE 15.5).

It may be a good idea to add a USE-flag to utilize the vmraw option and check the kernel settings to warn if the flag is not used:

- if emulation is not available, the flag is required and the ebuild can fail "ex-ante"
- if emulation is available but deactivated, either the flag is required or the emulation should be activated and a warning is helpful to guide the user to a solution
- if the flag is set but emulation is available and enabled, a notice should tell that the build will not use 32bit emulation though the kernel supports it

The option --disable-vmraw itself seems to be quite old, I found a google hit from about 11 years ago. It seems there is a use case now :-)

Reproducible: Always

Steps to Reproduce:
1. Use a 6.7.0 kernel without 32bit emulation enabled or disabled 32bit support
2. emerge virtualbox, e.g. version 7.0.14
Comment 1 Larry the Git Cow gentoo-dev 2024-05-25 09:53:11 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=14674f7dbb371b69cf99edf98aa6434405b96f75

commit 14674f7dbb371b69cf99edf98aa6434405b96f75
Author:     Viorel Munteanu <ceamac@gentoo.org>
AuthorDate: 2024-05-25 09:08:13 +0000
Commit:     Viorel Munteanu <ceamac@gentoo.org>
CommitDate: 2024-05-25 09:52:42 +0000

    app-emulation/virtualbox: add use flag for IA32 support
    
    Closes: https://bugs.gentoo.org/922376
    Signed-off-by: Viorel Munteanu <ceamac@gentoo.org>

 app-emulation/virtualbox/metadata.xml                | 11 ++++++-----
 app-emulation/virtualbox/virtualbox-7.0.18-r1.ebuild |  3 ++-
 2 files changed, 8 insertions(+), 6 deletions(-)