FS#11528 - [virtualbox-ose 2.0.2-1] can't run VirtualBox-ose

Attached to Project: Community Packages
Opened by Jaime Oyarzun Knittel (mitoyarzun) - Friday, 19 September 2008, 16:06 GMT
Last edited by Geoffroy Carrier (gcarrier) - Monday, 29 September 2008, 02:26 GMT
Task Type Bug Report
Category
Status Closed
Assigned To Geoffroy Carrier (gcarrier)
Architecture i686
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 15
Private No

Details

Description:

I updated VirtualBox-ose to 2.0.2-1 a few days ago, but it doesn't run, it throws the following errors (as normal user):

VirtualBox: SUPR3HardenedMain: effective uid is not root (euid=1000 egid=100 uid=1000 gid=100)

And with sudo (or as root):

VirtualBox: supR3HardenedMainGetTrustedMain: dlopen("/usr/lib/virtualbox/VirtualBox.so",) failed: /usr/lib/virtualbox/VirtualBox.so: cannot open shared object file: No such file or directory


Additional info:
* This didn't happen with 1.6

Steps to reproduce:
1. Execute /usr/bin/VirtualBox

This task depends upon

Closed by  Geoffroy Carrier (gcarrier)
Monday, 29 September 2008, 02:26 GMT
Reason for closing:  Fixed
Additional comments about closing:  Yipee! Applauses go to mitoyarzun for figuring it out!
Comment by Philippe Miron (philefou) - Sunday, 21 September 2008, 20:43 GMT
Actually the VirtualBox.so is in the /usr/lib/ directory instead of /usr/lib/virtualbox. Adding a symlink solve the problem when trying to start the program as root. Same error running the problem as user.
Comment by Jaime Oyarzun Knittel (mitoyarzun) - Monday, 22 September 2008, 22:19 GMT
Well, those problems were resolved in 2.0.2-2, but now it's impossible to start a virtual machine because the vboxdrv module isn't recognized by VirtualBox... then this bug should be closed?

There is a report for the "new" bug in http://www.virtualbox.org/ticket/2305 .

What happens if this is a bug in upstream? We'll have to downgrade to 1.6?
Comment by Geoffroy Carrier (gcarrier) - Monday, 22 September 2008, 22:38 GMT
No idea. That's something boring. See my replies in [arch-general] VirtualBox-ose 2.0.2 broken.
Really sorry. If nobody gets a solution until tomorrow, I'll downgrade to 1.6 :(
Comment by Jaime Oyarzun Knittel (mitoyarzun) - Monday, 22 September 2008, 22:41 GMT
I'll try to work on this tonight. Anyway, what's new on 2.0?
Comment by Jaime Oyarzun Knittel (mitoyarzun) - Tuesday, 23 September 2008, 18:51 GMT
I had to rebuild the package virtualbox-modules from ABS.

What I did was:

1. Add the --disable-hardening flag in virtualbox-modules PKGBUILD.

2. makepkg --nobuild

3. Remove the flag -DVBOX_WITH_HARDENING from the variable KFLAGS in
virtualbox-modules/src/VirtualBox-2.0.2/src/VBox/HostDrivers/Support/linux/Makefile

4. makepkg --noextract -i

5. Reload the module (modprobe -vr vboxdrv && modprobe -v vboxdrv).

6. chmod 666 /dev/vboxdrv.

The last step is a bit ugly, but works. I don't know why am I not
allowed to use /dev/vboxdrv with 660 persmissions, even if I belong to
the vboxusers group.
Comment by David Rosenstrauch (darose) - Tuesday, 23 September 2008, 21:03 GMT
I'm having the same issue with virtualbox_bin. Not sure I understand: is there a fix/workaround here?
Comment by Jaime Oyarzun Knittel (mitoyarzun) - Wednesday, 24 September 2008, 17:10 GMT
David: are you sure you are using virtualbox_bin? Be sure to remove virtualbox-ose and virtualbox-modules and then install virtualbox_bin, then reload the vboxdrv module and add yourself to the vboxusers group (gpasswd -a user vboxusers).
Comment by David Rosenstrauch (darose) - Thursday, 25 September 2008, 01:53 GMT
Actually, never mind. My issue was slightly different, and the cause was that I didn't have qt4 installed. Apparently vbox 2.0.2 needs it, while the older versions didn't.
Comment by Bruno Mazotti (bmazotti) - Thursday, 25 September 2008, 02:09 GMT
I'm using version 1.6 of virtualbox-ose until the bug cited by mitoyarzun (http://bugs.archlinux.org/task/11528#comment32689) gets fixed,
the following forum thread discusses this problem and a possible solution for building from source code can be found in the following post:
http://bbs.archlinux.org/viewtopic.php?pid=424218#p424218
Comment by Roman Kyrylych (Romashka) - Sunday, 28 September 2008, 17:42 GMT
@ Jamie: steps 2,3,4 can be done by adding a patch that modifies Makefile
Comment by Roman Kyrylych (Romashka) - Sunday, 28 September 2008, 17:43 GMT
also, 666 is insecure, setting 660 and adding a user to vboxusers group should be enough
Comment by Geoffroy Carrier (gcarrier) - Monday, 29 September 2008, 01:12 GMT
Sorry to be THAT slow. I started using Google Calendar for everything; now you'll be able to hunt me when I have free time, see http://koon.fr/wiki/doku.php/calendar
Just uploaded a new version of virtualbox-modules with mitoyarzun's fix.
Comment by Geoffroy Carrier (gcarrier) - Monday, 29 September 2008, 02:24 GMT
Everything seems fixed here. Please report any success/failure with virtualbox-ose 2.0.2-2 and virtualbox-modules 2.0.2-2 via e-mail to geoffroy.carrier@aur.archlinux.org ASAP.

I'm REALLY, REALLY sorry for the looong week with a broken package.

Please note that /dev/vboxdrv should be 0660 root vboxusers. Users of testing/udev might experience problems, as rules are moving from /etc/udev to /lib/udev; they might want to try 'chmod 660 /dev/vboxdrv;chown root:vboxusers /dev/vboxdrv' and add their user to the vboxdrv group.
[FOR NEWCOMERS] By the way, it's Linux dudes; groups information is set on logins. Try 'groups' and if vboxusers doesn't appear, use 'su $USER -c VirtualBox'. You won't need it on next session.

Disabling hardening is considered WRONG by the packagers, as expressed during the compilation procedure.
I will work on that later, but I might spend days/weeks investigating on x86_64 support before. There are big chances I will give up on this, archlinux isn't designed for this kind of 32/64bits melting pots.

Loading...