Fixing VirtualBox libpng12.s.0 Dependency
February 28, 2010
I use virtual machines quite a bit, mostly for checking how my websites look in IE, although I also use it to do some Flash Development in Windows. VirtualBox has proven to be really reliable and I am constantly amazed by how well it preforms.
Recently, after doing a Full System Upgrade in Arch, VirtualBox stopped working.
When I clicked on the link in the Gnome Menu, nothing happened, so I ran the “VirtualBox” command from the command line to see what was happening and found it was complaining about not being able to find “libpng.12.so.0”
I used the following command, “pacman -Qs libpng,” to determine that libpng was installed, but found that it was a newer version, specifically “libpng14.”
I tried making a link with the old name that pointed to the new version, which allowed me to run VirtualBox, but it was throwing a lot of errors and most of the buttons did not show up. So, this clearly would not work.
Getting VirtualBox Working Again
After doing some searching on the Arch Forum, I found that one solution was to install the old version of libpng, which is available in the Arch User Repository.
- The PKGBUILD for libpng12 can be found here
- Download the PKGBUILD and as a regular user, open a terminal and navigate to the download directory.
- Run the command makepkg PKGBUILD. This will create the package, which for me was named libpng12-1.2.40-1-x86_64.pkg.tar.gz
- Switch to Root and run pacman -U libpng12-1.2.40-1-x86_64.pkg.tar.gz. This installs the local package that you created in the above step.
After this, VirtualBox was back to working again, with the new version of libpng installed as well.
This was good because I had just finished some web design projects and needed to check them in IE. This, of course, highlights the most annoying aspect of Webdesign, which is coding the site correctly and having it work well Firefox, Opera, and even IE8, only to have to go in and fix it so it works in IE7/IE6. Hopefully the latter, IE6, is on the way out though, with Google dropping IE6 support starting Tomorrow on their sites, including Youtube. Woot!!!