alte libc6.so für ein einzelnes Programm? Sonst die neue verwenden?

Software besorgen und anwenden
Post Reply
Message
Author
Barross

alte libc6.so für ein einzelnes Programm? Sonst die neue verwenden?

#1 Post by Barross »

Hallo,

ich noch ein problem. Ich habe eine alte gekaufte Version von dem Mathematik-Programm Maple 5. Dieses besteht aber auf meinem Debian-System auf der installierten Version der libc-2.2.x, während es ja nun inzwischen schon die glibc-2.3.x gibt. Nun glaube ich aber sehr wohl zu wissen, daß man dem ld.so mit einer Umgebungsvariable sagen kann, daß er für eine Shell jetzt mal die libc irgendwo anders finden soll. Wenn das stimmt, wie geht das und ist das überhaupt ausreichend, oder muss ich noch andere bibliotheken ummodeln?

Grüße,
Barross

Jochen

Re: alte libc6.so für ein einzelnes Programm? Sonst die neue verwenden?

#2 Post by Jochen »

Die man-Page zu ld.so hilft Dir da weiter, da sind alle Umgebungsvariablen erläutert, die der Loader versteht. Mittels LD_LIBRARY_PATH kannst Du den Loader auf ein Verzeichnis mit der alten Bibliothek verweisen.

Jochen

felix

Re: alte libc6.so für ein einzelnes Programm? Sonst die neue verwenden?

#3 Post by felix »

Hallo

Es ist zwar richtig, dass man, indem man die LD_LIBRARY_PATH-Variable setzt, andere Versionen von Bibliotheken verwenden kann, aber die Glibc spielt da eine Sonderrolle.

Im Normalfall kann man also z.B. eine Bibliothek, die man in /opt/irgendwas/lib hat, verwenden indem man LD_LIBRARY_PATH=/opt/irgendwas/lib:$LD_LIBRARY_PATH eingibt, um die Umgebungsvariable LD_LIBRARY_PATH zu ändern. In diesem Fall steht der neu hinzugefügte Pfad nun an erster Stelle, was bedeutet, dass wenn man eine andere Version als man unter /lib oder /usr/lib hat, nun die neue verwendet wird. Die Umgebungsvariable kann man natürlich in der /etc/profile / ~/.bash_profile systemweit / für einen Nutzer für weitere Sitzungen verankern.

Da aber die GLibc nicht nur aus libc.so.6 besteht und die libc.so.6 die Bibliotheken, die noch bei der Glibc vorhanden sind, unter /lib sucht (unabhängig von der ld.so.conf / LD_LIBRARY:PATH), kann man auf diese Weise keine zweite libc verwenden. Ob es anders irgendwie möglich ist, weiss ich allerdings nicht.

Aber: geht Maple wirklich nicht mit der nenen Glibc? Würde mich wundern. Denn die neue Libc ist fast 100%ig binärkompatibel. Bei mir hat beim Umstieg nur mit Java und Wine Probeleme gemacht, und beides läuf mit den aktiellen Versionen Wine 20021031 und Java 1.4.1 auch mit der neuen Glibc.

Felix

Klaus Schäfer

Re: alte libc6.so für ein einzelnes Programm? Sonst die neue verwenden?

#4 Post by Klaus Schäfer »

Hallo,
mach doch einfach mal nen symbolischen link mit dem alten namen auf den namen der
neuen glibc - nach diesem motto habe ich schon einige programme zur mitarbeit überreden
können, die andere - auch neuere - versionen von bibliotheken haben wollten. meist
werden die neuen funktionen in laenger bestehenden programmen eh nicht genutzt und es
funktioniert

Gruß Klaus

Post Reply