• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

export LD_assume_kernel-Befehl

reboryton

Newbie
Hallo, hoffe ich bin hier im richtigen Forum (aber immerhin taucht das Wort Kernel auf).
Mein Problem:
Um einen Fehler in einem Programm (Matlab 7) zu lösen, wird mir geraten, das Programm auf folgenden Art zu starten:

Code:
> export LD_ASSUME_KERNEL=2.2.5
> matlab
dann bekomme ich die Meldung:
Code:
/bin/sh: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
...womit ich mit meinem Latein auch schon am Ende bin. Wie löse ich das?
 
Lass das LD_ASSUME_KERNEL mal weg, mit etwas Glück läuft es dann auch so.

LD_ASSUME_KERNEL schaltet von der NPTL (Native POSIX Thread Library) auf die alte LinuxThreads-Bibliothek um. Die LinuxThreads-Bibliothek gibt es aber nicht mehr.

Viele BinaryOnly-Programme setzen trotzdem LD_ASSUME_KERNEL. Das kann ohne LinuxThreads-Bibliothek erstens nicht funktionieren und ist zweitens häufig völlig unnötig, die Programme laufen auch ohne LD_ASSUME_KERNEL.
 
OP
R

reboryton

Newbie
Weiß nicht, ob ichs richtig verstanden habe:
Ich tippe also nur 'export' ein und starte dann das Programm. Nach dem 'export'-Befehl rattert ne ganze Menge den Bildschirm runter, dann starte ich das Programm, was jedoch bei einigen Funktionen den selben Fehler produziert.

Vielleicht etwas mehr ins Detail:
Matlab7 basiert auf der glibc Version: 2.3.2, und suse 10.1 auf 2.4, weshalb es bei der Ausführung manchmal Trouble gibt, was sich u.U. durch obigen assume_kernel befehl beheben lassen könnte.
 
reboryton schrieb:
Weiß nicht, ob ichs richtig verstanden habe:
Ich tippe also nur 'export' ein und starte dann das Programm. Nach dem 'export'-Befehl rattert ne ganze Menge den Bildschirm runter, [...]
Nein, Du lässt nicht nur den Teil nach dem export weg, sondern den gesamten export-Befehl.

Noch deutlicher wäre es so:
Code:
unset LD_ASSUME_KERNEL
Und danach das Programm ganz normal, komplett ohne den export-Befehl starten.
reboryton schrieb:
[...] dann starte ich das Programm, was jedoch bei einigen Funktionen den selben Fehler produziert.
Welche Fehlermeldung, und wann genau: Direkt beim Starten, oder irgendwann später,...
reboryton schrieb:
Matlab7 basiert auf der glibc Version: 2.3.2, und suse 10.1 auf 2.4, weshalb es bei der Ausführung manchmal Trouble gibt, was sich u.U. durch obigen assume_kernel befehl beheben lassen könnte.
Nein. Den LinuxThreads-Kompatibilitätscode gibt es nicht mehr. Die Benutzung von LD_ASSUME_KERNEL führt dazu, dass die glibc nach einer Bibliothek sucht, die es nicht mehr gibt, also glaub einfach, was ich schon im ersten Posting gesagt habe: LD_ASSUME_KERNEL funktioniert definitiv nicht.

Wenn es auch ohne LD_ASSUME_KERNEL nicht funktioniert, dann funktioniert es eben überhaupt nicht. Verlange vom Hersteller ein kompatibles Binary oder arbeite mit einer chroot-Umgebung.
 
Oben