Hi Micel. Gentoo may have some policy on this, but functionally there’s no reason why you can’t have multiple versions of libraries installed on a Linux system, either in system directories or elsewhere. I’ve done this before many times, and it’s simple.
First, you’re trying to run the 64-bit version of PVRVFrameGUI (Linux_x86_64), so you’re going to need a 64-bit shared library version of libpng 1.2.x accessible via the name “libpng12.so.0” somewhere in your dynamic linker’s search patch.
Now really this libpng12.so.0 should be built from some 1.2.x version of the libpng source code. If you can find that for Gentoo, then just grab that. That’s really the way to go. However if not, as a temporary band-aid you can sometimes get away with using the version you currently have installed on your system – it just depends on how compatible the APIs are.
See the ld.so (8) man page for complete details. But basically here’s one way to get PVRVFrameGUI going for you, without requiring multiple versions of libpng to be installed in the system directories.
ln -s /usr/lib/libpng16.so libpng12.so.0 # <-- Either do this…
cp /tmp/libpng12.so.0 libpng12.so.0 # <-- or better yet, copy in a genuine 1.2.x lib built for your system.[/pre]
then later to run (you can toss this in a shell script so you don’t have to retype it every time):
Above I assume you’re using a sh/bash shell here; if not, adapt for csh/tcsh syntax.
Here I also assume that you were unable to find (or build) a genuine libpng12.so built from libpng 1.2.x source code and you’re going to try just using the current version on your system (libpng16.so).
Further I assume the libraries in your /usr/lib directory are 64-bit. You can check this by running “file /usr/lib/libpng16.so.16.16.0” or "file /usr/lib/". If you see 32-bit, then go install the 64-bit libpng .so and use that instead. (On Linux systems I’ve worked on /usr/lib/ typically contains 32-bit libs and /usr/lib64/* contains 64-bit libs, but I don’t know what conventions Gentoo uses.
Hope this helps.