VirtualBox fails with libpng.so.0()(64bit) error

Hey all, I just installed OpenSuSE 13.1 on my workstation at work (I installed it at home and liked it so now I’m dual-booting it at work). The install went smoothly and now I’m installing assorted programs. I just downloaded VirtualBox 4.3.8 from the VirtualBox website but when I try to do the rpm -i I get the following errors:

SuseDesk:/home/jobee/Downloads # rpm -i VirtualBox-4.3-4.3.8_92456_openSUSE123-1.x86_64.rpm
warning: VirtualBox-4.3-4.3.8_92456_openSUSE123-1.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 98ab5139: NOKEY
error: Failed dependencies:
        libpng12.so.0()(64bit) is needed by VirtualBox-4.3-4.3.8_92456_openSUSE123-1.x86_64
        libpng12.so.0(PNG12_0)(64bit) is needed by VirtualBox-4.3-4.3.8_92456_openSUSE123-1.x86_64
        libvpx.so.1()(64bit) is needed by VirtualBox-4.3-4.3.8_92456_openSUSE123-1.x86_64

I installed libpng and libvpx but both versions installed as 32-bit versions and I can’t find 64-bit versions of the software. I’ve tried Googling the error messages but nothing recent shows up. I tried running:

zypper install gcc make automake autoconf kernel-source kernel-syms kernel-devel

and then rebooting but still no joy. I’ve tried to use VirtualBox from a repo before but had too many problems. This would have been the third VirtualBox installation I’ve done (v13.1 and v12.x at home) but I can’t figure this one out. Any help here would be greatly appreciated.

Thanks,

Joe B

Oh, and I ran

zypper update

before I did the big install to make sure I was current.

Thanks,

Joe B

Install libpng12-0 from the standard OSS repo and it should work.

Or use zypper to install the VirtualBox rpm, then needed dependencies are installed automatically.

Or just use the virtualbox packages included in openSUSE. You can install them either with YaST or zypper.

PS: You need to install libvpx1 as well.

Why not install via yast or zypper so that all the dependencies are meet???

In any case the libs will not have 64 in their names 32bit have 32bit in their names.

PS: If you ever encounter a similar problem in the future, this would also install the missing packages:

sudo zypper in "libpng12.so.0()(64bit)" "libpng12.so.0(PNG12_0)(64bit)" "libvpx.so.1()(64bit)"

(“libpng12.so.0(PNG12_0)(64bit)” is superfluous in this case though)
:wink:

On 03/20/2014 06:06 PM, jbruyet pecked at the keyboard and wrote:
> Oh, and I ran
>
>
> Code:
> --------------------
> zypper update
> --------------------
>
>
> before I did the big install to make sure I was current.
>
> Thanks,
>
> Joe B
>
>
Try also

/code
zypper in libpng12-0 libvpx1

to install the 64 bit versions. I run VB from the VB site and don’t have
problems.

You might also add the VB repo to further reduce problems. Info is at
https://www.virtualbox.org/wiki/Linux_Downloads

Ken

Would everyone recommend that I use a repo install of VirtualBox as opposed to downloading the RPM from the Oracle website? Like I mentioned in my original post I I’ve had troubles in the past with VB installs from repos but that was with a different distribution. I need a stable install because I’m going to be using this at work and I don’t want any problems cropping up just before a deadline.

Thanks,

Joe B

The openSUSE packages worked for me everytime. But be sure to install “virtualbox-qt” (that’s the official GUI), as YaST might select “vboxgtk” by default which doesn’t support the current VirtualBox versions very well.

The openSUSE packages have the advantage that you won’t have to recompile the kernel module after a kernel update. OTOH they only work with the standard openSUSE kernel.

openSUSE 13.1 comes with VirtualBox-4.2.18 (12.3 with 4.2.6), if you rather want to have the latest version, you should add the Virtualization repo first in YaST->Software Repositories->Add->Community Repos. This has 4.3.8 at the moment.
But the packages included in standard openSUSE don’t change (except for bugfixes), so might be preferable if you want a stable system…

Never tried the Oracle RPM but I have downloaded and installed the generic installer which requires you to have kernel source and gc installed. Also have no problem with the repo versions. With the added plus of not having to reinstall after kernel updates.

BTW if you found th 32 bit versions of the missing libraries then the 4 bit should also be there assuming you have correct repos set.

And thus it begins → I’ve installed VirtualBox from the repo and it installed just fine. I try to run VB and here’s the error message:

You are not a member of the "vboxusers" group. Please add yourself to this group before starting VirtualBox. Yadda yadda yadda...

SO, I tried to add myself to the vboxusers group from Yast but there’s only one group listed – users. So I’m thinking I need to add the vboxusers group to the system:

SuseDesk:/home/jobee # getent group vboxusers
vboxusers:x:483:

Well, ok then. I’ll just add myself from the command line:

SuseDesk:/home/jobee # useradd -g vboxusers jobee
useradd: user 'jobee' already exists

I see now that I’m there but I’m not really there. I’ve rebooted my computer but still no joy. Any ideas on how to fix this?

Thanks,

Joe B

“useradd” is for creating a new user.
To add an existing user to a group, use “usermod”:

usermod -a -G vboxusers $USER

Another note: If you need USB support, please copy the file /usr/lib/udev/rules.d/60-vboxdrv.rules to /etc/udev/rules.d/, open that in a text editor and remove the ‘#’ characters at the beginning of the lines as instructed in that file.
USB access is disabled by default in the openSUSE packages because of security concerns.

Thank you wolfi323, that did it. I should have remembered that part about useradd. Oh well, I’m working on building up my experience. VB is up and running at this time. I’ll get to adding OSes later on.

Thanks everyone and have a great weekend,

Joe B

Well, if unsure, consult the manpages, f.e.:

man useradd

Or just type “man:/useradd” or “#useradd” in KDE’s Alt+F2 run command dialog, or enter that in Dolphin’s/Konqueror’s address field. :wink:

You can use yast2 users module to do that too.

yast2 users

gpasswd is also installed now by default.

gpasswd --help
Usage: gpasswd [option] GROUP

Options:
  -a, --add USER                add USER to GROUP
  -d, --delete USER             remove USER from GROUP
  -h, --help                    display this help message and exit
  -Q, --root CHROOT_DIR         directory to chroot into
  -r, --remove-password         remove the GROUP's password
  -R, --restrict                restrict access to GROUP to its members
  -M, --members USER,...        set the list of members of GROUP
The options cannot be combined.

An example would be.

gpasswd -a USERNAME GROUPNAME