Page 1 of 1

VERR_SUPLIB_SYMLINKS_ARE_NOT_PERMITTED

Posted: 1. Feb 2014, 15:39
by yogibimbi
After installing VB and installing a Ubuntu 12.04.3 VM, I am trying to run it, but all I get is the error message
VERR_SUPLIB_SYMLINKS_ARE_NOT_PERMITTED
, the VM aborts right after opening its own window (which remained black for the split second VB was starting it up).

Now, I have a suspicion why that is, and the log sort of confirms this: My /Applications is a symlink to /Volumes/Applications, since I like to give everything (Applications, boot partition, Documents, VMs) its own partition, which works better for my backup strategy. This is the log:
VirtualBox VM 4.3.2 r90405 darwin.amd64 (Nov 1 2013 15:42:35) release log
00:00:01.331484 Log opened 2014-02-01T12:26:39.879155000Z
00:00:01.331485 Build Type: release
00:00:01.331494 OS Product: Darwin
00:00:01.331498 OS Release: 13.0.0
00:00:01.331502 OS Version: Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013; root:xnu-2422.1.72~6/RELEASE_X86_64
00:00:01.331633 DMI Product Name: MacBookAir6,1
00:00:01.331702 DMI Product Version: 1.0
00:00:01.331709 Host RAM: 8192MB total, 2051MB available
00:00:01.331710 Executable: /Applications/VirtualBox.app/Contents/Resources/VirtualBoxVM.app/Contents/MacOS/VirtualBoxVM
00:00:01.331711 Process ID: 16001
00:00:01.331711 Package type: DARWIN_64BITS_GENERIC
00:00:01.335083 Installed Extension Packs:
00:00:01.335101 None installed!
00:00:01.342573 pdmR3LoadR0U: pszName="VMMR0.r0" rc=VERR_SUPLIB_SYMLINKS_ARE_NOT_PERMITTED szErr="Symlinks are not permitted: '/Applications'"
00:00:01.342600 VMSetError: /Users/vbox/tinderbox/4.3-mac-rel/src/VBox/VMM/VMMR3/VM.cpp(594) int vmR3CreateU(UVM*, uint32_t, int (*)(UVM*, VM*, void*), void*); rc=VERR_SUPLIB_SYMLINKS_ARE_NOT_PERMITTED
00:00:01.342607 VMSetError: Failed to load VMMR0.r0
00:00:01.342879 ERROR [COM]: aRC=NS_ERROR_FAILURE (0x80004005) aIID={8ab7c520-2442-4b66-8d74-4ff1e195d2b6} aComponent={Console} aText={Failed to load VMMR0.r0 (VERR_SUPLIB_SYMLINKS_ARE_NOT_PERMITTED)}, preserve=false
00:00:01.347295 Power up failed (vrc=VERR_SUPLIB_SYMLINKS_ARE_NOT_PERMITTED, rc=NS_ERROR_FAILURE (0X80004005))
I also checked permissions both on the symlink and the directory itself, as this has been a problem in similar situations I have found here:
lrwxr-xr-x 1 root wheel 21 11 Dec 13:07 Applications -> /Volumes/Applications
drwxr-xr-x@ 113 root admin 3910 1 Feb 13:26 /Volumes/Applications
(btw: I did a chmod 755 on /Volumes/Applications while trying out some things, as recommended in ticket #8410 on this site. Before that, the permissions were drwxr-xr-t on /Volumes/Applications; what does the "t" stand for?)

So, is the symlink the cause of my problem, and am I stuck with it, unless I change the entire partition structure on my hard disk? :-S

Re: VERR_SUPLIB_SYMLINKS_ARE_NOT_PERMITTED

Posted: 2. Feb 2014, 22:37
by socratis
yogibimbi wrote:After installing VB and installing a Ubuntu 12.04.3 VM, I am trying to run it, but all I get is the error message VERR_SUPLIB_SYMLINKS_ARE_NOT_PERMITTED, the VM aborts right after opening its own window (which remained black for the split second VB was starting it up).
My gut feeling is that VirtualBox is not the only application that you have a problem with. Your setup is quite unusual and not only recommended, but I would say, discouraged, even by Apple. I think that even Repairing Disk Permissions would fail. "/Applications" is a vital piece of the setup, just like "/System" and "/Library". You can't just arbitrarily move them around without any grave consequences.
yogibimbi wrote:(btw: I did a chmod 755 on /Volumes/Applications while trying out some things, as recommended in ticket #8410 on this site. Before that, the permissions were drwxr-xr-t on /Volumes/Applications; what does the "t" stand for?)
"t" stands for sticky. Try "man sticky". Especially for directories.

Re: VERR_SUPLIB_SYMLINKS_ARE_NOT_PERMITTED

Posted: 3. Feb 2014, 01:23
by yogibimbi
thanks for the "t" explanation. As for the setup, I have been running that through all versions of OS X, since 10.0. It has caused some problems, but nothing unsurmountable. Parallels runs without problems, but they keep charging sizable amounts of money for every little update, so I want to go the Virtualbox route.
Currently, VB is the only program not working with that setup, Amongst others, I have Logic, FinalCut Express, Eclipse etc. etc.

If everybody did everything the same way, there would be no creativity, we would be Borg, just saying...

Re: VERR_SUPLIB_SYMLINKS_ARE_NOT_PERMITTED

Posted: 3. Feb 2014, 02:04
by socratis
Nice Borg reference (still have the OSX 10.0 beta and read Slashdot since it was too in beta)!

What I was trying to say is that your setup is really unusual (but not unheard of). If there is a bug someplace (and it looks like one), if the developers cannot easily reproduce it (because the setup isn't typical), and no one reports it (as in there are only two users in the world with this setup), it will not be fixed.

I hope that someone of the devs with a Mac can take a look at this particular issue, and (if it's not that big of a deal) they can fix it.

But (and we can continue this off-line since this is not a VBox issue), how come all the applications that have their receipts can manage not-being on the root folder? I didn't pick the "repair permissions" example by accident...

Re: VERR_SUPLIB_SYMLINKS_ARE_NOT_PERMITTED

Posted: 3. Feb 2014, 10:56
by yogibimbi
It may be that this is not really a bug, but rather by design, i.e. VB does not use its actual location, but uses the /Applications/VirtualBox.app and no two ways around it. I usually like to move my applications in subdirectories within /Applications, (such as /Applications/music/Logic\ Studio.app, for example) and there are even applications that don't like that. Which I find sloppy programming, because you should not force a person to keep the same order than everybody else. If I want to arrange files on my harddisk in a certain way, that is my prerogative. Some stuff is required by the system, but, apart from that a system should be customizable, and requiring a hardcoded location of /Applications instead of resolving the symlink, is just sloppy imho. Apple with their Think Different mantra, of all places, should enforce that.

We don't know yet if that's the problem, but the line
00:00:01.342573 pdmR3LoadR0U: pszName="VMMR0.r0" rc=VERR_SUPLIB_SYMLINKS_ARE_NOT_PERMITTED szErr="Symlinks are not permitted: '/Applications'"
certainly makes it look that way. If it were resolving the actual symlink and location of the app, it would use the location of the app /Volumes/Applications in this place. Actually, I would even prefer running the whole thing out of /Volumes/Applications/Virtualization, but even Parallels has qualms with that (I had to leave Parallels.app within /Volumes/Applications and ln -s out of /Volumes/Applications/Virtualization/Parallels to it - sometimes Thinking Different and imposing some of your own structure is made too complicated by the resellers) :-S