On Friday 01 June 2001 13:35, Matthias Kleine schrieb:
Hi,
fieses Problem: Ich möchte ein Proggie, das auf einem recht aktuellen System gebaut wurde auf einer _sehr_ alten Kiste laufen lassen. Fragt mich jetzt nicht nach Namen oder Versionen, betrachtet die Frage mal theoretisch:
Das Programm verwendet eine Reihe von X-Libraries, die Ausgabe von ldd sieht so aus:
libm.so.1 => /usr/lib/libm.so.1 libXaw3d.so.5 => (file not found) libXmu.so.4 => /usr/openwin/lib/libXmu.so.4 libXt.so.4 => /usr/openwin/lib/libXt.so.4 libSM.so.6 => /usr/openwin/lib/libSM.so.6 libICE.so.6 => /usr/openwin/lib/libICE.so.6 libXext.so.0 => /usr/openwin/lib/libXext.so.0 libX11.so.4 => /usr/openwin/lib/libX11.so.4 libsocket.so.1 => /usr/lib/libsocket.so.1 libnsl.so.1 => /usr/lib/libnsl.so.1 libc.so.1 => /usr/lib/libc.so.1 libdl.so.1 => /usr/lib/libdl.so.1 libmp.so.2 => /usr/lib/libmp.so.2
Auf dem alten System sind freilich viele dieser Libs, die teilweise wiederum von vielen weiteren Libs abhängen, nicht oder in alten Versionen vorhanden.
Die Frage ist nun, ob es genügen würde, sagen wir, alle Libs des neueren Systems in ein neues Lib-Verzeichnis zu kopieren (z.B. /usr/newlib), LD-LIBRARY_PATH dieses Verzeichnis voranzustellen und
wohl eher LD_LIBRARY_PATH
dann einfach mal das Programm aufzurufen...
Leider kann ich es hier nicht ohne weiteres probieren, da die Maschinen beim Kunden stehen...
bis auf die libc sollte das funktionieren... Das dürfte aber auch sonst kein problem sein, da doch inkompatible libs immer neue Hauptversionsnummern bekommen haben. Diese können sogar im gleichen Verzeichnis koexistieren. -- Mathias Weigt