Just a quick note:
When installing the TeamSpeak 3 client on 64 bit Fedora 20, you may encounter the following error:
/ts3client_linux_amd64: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
Some investigation yielded that libpng20.so.0 did in fact exist on my computer. After modifying the LD_LIBRARY_PATH variable in the ts3client_runscript.sh file to include “/usr/lib” (the location of libpng20.so.0), I received the following informative error:
./ts3client_linux_amd64: error while loading shared libraries: libpng12.so.0: wrong ELF class: ELFCLASS32
So, clearly, the architecture of the libpng12.so.0 file is 32 bit. Indeed, I investigate the file and confirm that it is 32 bit:
$ yum list libpng12 Loaded plugins: langpacks, refresh-packagekit Installed Packages libpng12.i686 1.2.50-5.fc20 @fedora Available Packages libpng12.x86_64 1.2.50-5.fc20 fedora
Sidenote: If you’re wondering, i686 is Intel’s P6 microarchitecture, which is the sixth generation Intel x86 microarchitecture. You may be more familiar with the classic third generation i386. When running 32 bit Fedora, i686 will be the architecture type for you, but when running 64 bit Fedora, you are likely to have a processor of the AMD64 variety, which is an architecture in which a processor natively supports the standard x86 instruction set, but includes 64 bit instruction set extensions, allowing it to accept both 32 bit and 64 bit instruction sets. This is why AMD64 is also referred to as “x86_64.” Unlike, say, IA64 (the failed Itanium architecture), which does not support x86 instruction sets in any way, AMD64 processors are fully backwards compatible with x86 without any need for emulation, and therefore i686 software can run without an issue on AMD64 platforms. This is a great contributor to the success of the AMD64 architecture.
So, I remedy the matter by simply running
$ sudo yum install libpng12.x86_64
and the TeamSpeak 3 client loads without a problem!