Due to the following bug in Fedora:
http://forums.fedoraforum.org/showthread.php?t=296524
I decided to compile my own versions of zlib and libpng. But after doing so, I realized that libcairo could not link to my new libpng version. Some investigation showed that the reason was that the symbols in the system libpng contain the symbol version, e.g.:
readelf -Ws /usr/lib/libpng16.so.16.6.0 | awk '{print $8}' | grep -i version
png_access_version_number@@PNG16_0
png_get_header_version@@PNG16_0
but in my compiled version the symbols do contain the version decoration:
> readelf -Ws /usr/local/lib/libpng16.so.16.6.0 | awk '{print $8}' | grep -i version
png_get_header_version
png_user_version_check
png_access_version_number
How can I make cmake, the compiler and the linker generate these symbol annotations?