Kompilieren Sie mit openssl-1.0.1e, aber mit der alten Glibc

811
imslavko

Wünschenswertes Ergebnis:

kompilieren Sie eine Binärdatei mit statisch verknüpftem openssl 1.0.1e, aber dynamisch verknüpft mit glibc, stdc ++ usw. Auf den meisten Servern sollte Binary ausgeführt werden, z. B. Ubuntu 11.04 oder RHEL 6, CentOS 6.4.

Problem:

Code, den ich kompilieren möchte, hängt von openssl 1.0.1e ab. Openssl 1.0.1e hängt von glibc ab, das in neueren Ubuntu-Versionen (wie 12.04, glibc 2.13) gefunden wurde, und kompiliert nicht mit der in Ubuntu 11.04 gefundenen.

Die unter Ubuntu 12.04 kompilierte Binärdatei kann unter Ubuntu 11.04 nicht ausgeführt werden. Die Fehlermeldung lautet:

$BINARY: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by $BINARY) 

Wie kann ich meine Binärdatei so kompilieren, dass sie unter Ubuntus und RHEL6, CentOS 6.4 läuft?

1
Willkommen bei Superuser! Sie können [unix.se] überprüfen, ob die Antwort vorhanden ist 50-3 vor 10 Jahren 0
Warum nicht einfach auf Ubuntu 12.04 aktualisieren? Braiam vor 10 Jahren 0
@Braiam Hallo, es ist nicht meine Wahl, ich verteile die Binärdatei an die Endanwender, die mit der Anwendung gebündelt sind. Es gibt keine Möglichkeit, * alle * Benutzer zu zwingen, ihren Ubuntus zu aktualisieren :) imslavko vor 10 Jahren 0

0 Antworten auf die Frage