Как создать функции с версионированием символов в файле so в Fedora?

Как создать функции с версионированием символов в файле so в Fedora?

Из-за следующей ошибки в Fedora:

http://forums.fedoraforum.org/showthread.php?t=296524

Я решил скомпилировать свои собственные версии zlib и libpng. Но после этого я понял, что libcairo не может скомпоновать мою новую версию libpng. Некоторые исследования показали, что причина в том, что символы в системном libpng содержат версию символа, например:

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

но в моей скомпилированной версии символы содержат декорацию версии:

> 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

Как заставить cmake, компилятор и компоновщик генерировать эти символьные аннотации?

Связанный контент