3

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?

0 Answers0