Auf einer Produktions Linux-Box ohne Entwicklungs-Tools installiert ist (zB keine Header, kein gcc), wie Sie aus stellen, wenn es in der Lage sein wird, Sachen ausführen:Wie kann ich feststellen, ob ich für gcc4 kompilierte ausführbare Dateien auf einer Box ausführen kann?
- unter gcc4.1.2 zusammengestellt, im Gegensatz zu gcc3 .3.3 (es gab eine Änderung in der ELF zwischen Version 3 und 4, glaube ich)
- für 64-Bit kompiliert, im Gegensatz zu 32-Bit-Executables
wir haben einige Legacy-Bibliotheken haben, so dass wir noch gcc3.3.3 verwenden, sondern sind Umzug nach gcc4.1.2 und Kollege versuchte herauszufinden, wie man erkennt auf neue Remote-Box, wenn wir Zeug mit gcc4 kompiliert ausführen können.
Kann ich nach einer bestimmten Version von Bibliotheken oder ld-linux.so oder etwas ähnlichem suchen, anstatt die Test-App mit gcc4 zu kompilieren und dann zu versuchen, sie auf der neuen Box auszuführen?
Ich versuche herauszufinden, ob die Box eingerichtet ist, Sachen mit gcc4 kompiliert auszuführen. Ich nehme an, Sie schlagen vor, app zu kompilieren, dann kopieren Sie es in die Remote-Box und dann ldd darauf ausführen. Das ist, was ich normalerweise tun würde, aber ich versuche herauszufinden, ob es einen anderen einfachen Weg gibt, indem ich einfach Bibliotheken anschaue oder einen Befehl oder etwas ähnliches tue. Aber danke für deinen Vorschlag. – stefanB