So erstellen Sie symbolversionierte Funktionen in einer so-Datei in Fedora?

607
Dov Grobgeld

Aufgrund des folgenden Fehlers in Fedora:

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

Ich entschied mich, meine eigenen Versionen von Zlib und Libpng zu kompilieren. Nachdem ich dies getan hatte, wurde mir klar, dass libcairo keine Verbindung zu meiner neuen libpng-Version herstellen konnte. Eine Untersuchung ergab, dass die Symbole in der Systemlibpng die Symbolversion enthalten, z. B .:

readelf -Ws /usr/lib/libpng16.so.16.6.0 | awk '' | grep -i version png_access_version_number@@PNG16_0 png_get_header_version@@PNG16_0 

In meiner kompilierten Version enthalten die Symbole jedoch die Versionsdekoration:

> readelf -Ws /usr/local/lib/libpng16.so.16.6.0 | awk '' | grep -i version png_get_header_version png_user_version_check png_access_version_number 

Wie kann ich cmake machen, erzeugen der Compiler und der Linker diese Symbolanmerkungen?

3

0 Antworten auf die Frage