I could not start up VirtualBox software on my Ubuntu laptop tonight. It displayed an error trying to load a share object file, and suggested reinstalling as a potential solution. So I did that. Deleted the software I had, and downloaded and installed a newer version. Same error.
Off to Google, and after a little poking around, I found someone who discovered the root of that error message. The owner of my laptop’s /usr filesystem was not root. That’s all. Apparently, VirtualBox won’t load modules from an untrusted filesystem, and it doesn’t trust anyone other than root to own the entire directory tree below VB’s module directory.
I found an unknown user 998 owned a bunch of system directories. I ran a find command to list all files owned by user 998, and the culprit became apparent. Yesterday, I installed the flash plugin for my Firefox browser, and did it by extracting files from a compressed tar archive, which I did as the superuser, but I forgot to include the –no-same-owner option, so tar happily set each file and directory to the same owner number as the folks to created the tar archive. Whoops. Another find command that calls chown on all the affected directories and file, and the problem was resolved.
Sure would be nice if Virtualbox printed a more meaningful message, like “failed to load VBoxRT.so: owner not trusted for path /usr”, but VB is owned by Oracle, and they give it away still, so I guess they are not in a hurry to make it any more user friendly.