Was ist der beste Weg, um Software zu erstellen, die nicht die neueste Glibc benötigt?

8

Ich versuche, ein Binärpaket zu erstellen, das auf mehreren Linux-Distributionen ausgeführt werden kann. Es ist derzeit auf Ubuntu 10.04 gebaut, aber es schlägt auf Ubuntu 8.04 mit dem folgenden Fehler fehl:

%Vor%

Was ist der bevorzugte Weg, um dieses Problem zu lösen? Gibt es eine Möglichkeit, eine alte Glibc auf einer neuen Box zu installieren und dagegen zu bauen, oder muss ich auf einer alten Distribution aufbauen? Und wenn ich gegen einen alten glibc baue, wird es an einem neuen Glibc funktionieren?

Oder gibt es alternativ nur einige praktische Compilerflags oder Pakete, die ich installieren könnte, um das Problem zu lösen?

    
ZorbaTHut 04.05.2010, 18:31
quelle

2 Antworten

5

Die beste Lösung, die ich gefunden habe, ist, eine virtuelle Maschine zu installieren, auf der Debian stable läuft, und darauf aufzubauen. Debian Stable ist alt genug, dass alle damit gebauten Pakete auf jeder anderen Debian-basierten Distribution wie Ubuntu laufen. Möglicherweise müssen Sie mit nicht kritischen Fehlern umgehen, die in späteren Versionen verschiedener Software behoben wurden, aber nicht in Debian stable zurückportiert wurden.

    
ptomato 04.05.2010, 20:33
quelle
1

Wenn Sie wirklich sicherstellen möchten, dass es in jeder neueren Distribution ausgeführt wird, sollten Sie auch eine statische Verknüpfung mit einer von Ihnen ausgewählten libC in Betracht ziehen. Sie können jedoch immer noch Probleme bekommen, wenn Sie Funktionen verwenden, die nur von neueren Kerneln bereitgestellt werden (neuere Systemaufrufe, z. B..).

    
BjoernD 04.05.2010 23:22
quelle