Devido ao seguinte bug no Fedora:
http://forums.fedoraforum.org/showthread.php?t=296524
Decidi compilar minhas próprias versões do zlib e libpng. Mas depois de fazer isso, percebi que o libcairo não conseguia vincular à minha nova versão do libpng. Algumas investigações mostraram que o motivo era que os símbolos no sistema libpng continham a versão do símbolo, por exemplo:
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
mas na minha versão compilada os símbolos contêm a decoração da versão:
> 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
Como posso fazer com que o cmake, o compilador e o vinculador gerem essas anotações de símbolos?