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

Problem nach export LD_LIBRARY_PATH

Hi,

ich habe ein SUSE 10.0 mit GNOME am laufen und möchte gerne eine Opensource Anwendung (AGISIM von sourceforge) zum laufen bekommen.
Vor dem ausführen der Startdatei ist es nötig den Befehl :
export LD_LIBRARY_PATH = [Pfad zum Binaryverzeichnis von AGISIM]
Nachdem ich den Befehl eingegeben habe läuft aber nicht einmal mehr mein [ls] Commando. Es kommt dann folgende Fehlermeldung:
[/bin/ls: /KI/agisim_0.9/agisim-0.9_Bin/libc.so.6: version `GLIBC_2.3.4' not found (required by /bin/ls)]

Wenn ich mir mit [echo $LD_LIBRARY_PATH] deren inhalt vor dem [export] ausgeben lassen möchte kommt nur eine leere Zeile zurück ?!

Kann mir jemand sagen wohin [LD_LIBRARY_PATH] normalerweise verweist und wie ich den Fehler weg bekommen könnte und was mir diese Fehlermeldung eigentlich genau sagen möchte.

Vielen Dank
Ernie
 
dann probiere:
Code:
LD_LIBRARY_PATH=<pfad-zu-deinem-prog>:$LD_LIBRARY_PATH && <startbefehl-für-dein-prog>
 
Danke für den Tip.
Das [ls] Kommando funktioniert noch nachdem ich die Anweisung [LD_LIBRARY_PATH=<pfad-zu-deinem-prog>:$LD_LIBRARY_PATH && <startbefehl-für-dein-prog>] ausführe. Leider kommt beim programmaufruf die gleiche Fehlermeldung als wenn ich [LD_LIBRARY_PATH] garnicht gesetzt hätte:
[LD_LIBRARY_PATH=/KI/agisim_0.9/agisim-0.9_Bin/:$LD_LIBRARY_PATH && ./simclient]

Nur mit anschließender [Export LD_LIBRARY_PATH] Anweisung werden die Libraries gefunden. Leider kommt dann bevor das Programm überhaupt gestartet wird die Fehlermeldung (F1):
[./simclient: /KI/agisim_0.9/agisim-0.9_Bin/libc.so.6: version `GLIBC_2.3.4' not found (required by /lib/libz.so.1)
./simclient: /KI/agisim_0.9/agisim-0.9_Bin/libc.so.6: version `GLIBC_2.3.4' not found (required by /opt/gnome/lib/libgtk-1.2.so.0)
./simclient: /KI/agisim_0.9/agisim-0.9_Bin/libc.so.6: version `GLIBC_2.3.4' not found (required by /opt/gnome/lib/libgdk-1.2.so.0)
./simclient: /KI/agisim_0.9/agisim-0.9_Bin/libc.so.6: version `GLIBC_2.3.4' not found (required by /opt/gnome/lib/libglib-1.2.so.0)
./simclient: /KI/agisim_0.9/agisim-0.9_Bin/libc.so.6: version `GLIBC_2.3.4' not found (required by /usr/lib/libpng.so.3)
./simclient: /KI/agisim_0.9/agisim-0.9_Bin/libc.so.6: version `GLIBC_2.3.4' not found (required by /usr/lib/libjpeg.so.62)
./simclient: /KI/agisim_0.9/agisim-0.9_Bin/libc.so.6: version `GLIBC_2.3.4' not found (required by /usr/lib/libtiff.so.3)
]

Ich habe auch schon versucht :
[export LD_LIBRARY_PATH=/KI/agisim_0.9/agisim-0.9_Bin/:$LD_LIBRARY_PATH]
Um den alten Pfad einfach noch hintendran zu setzten. Das führt aber leider alles zum gleichen Fehler (F1 siehe oben) . :?:

Hätte da jemand vielleicht eine Idee ?

Vielen Dank!
Ernie
 
Sag mal, liegt dieses Programm in binärer Form vor und ist da wirklich eine eigene libc.so.6 dabei? Wenn ja, benenn sie mal um (nein, *keinesfalls* die in /lib, sondern die in /KI/agisim_0.9/agisim-0.9_Bin).
 
also auf einer SuSE-10.0 ist glibc installiert.
Code:
rpm -q --provides glibc | grep GLIBC_2.3
ld-linux.so.2(GLIBC_2.3)
libc.so.6(GLIBC_2.3)
libc.so.6(GLIBC_2.3.2)
libc.so.6(GLIBC_2.3.3)
libc.so.6(GLIBC_2.3.4)
libdl.so.2(GLIBC_2.3.3)
libdl.so.2(GLIBC_2.3.4)
libpthread.so.0(GLIBC_2.3.2)
libpthread.so.0(GLIBC_2.3.3)
libpthread.so.0(GLIBC_2.3.4)
libresolv.so.2(GLIBC_2.3.2)
librt.so.1(GLIBC_2.3.4)
libthread_db.so.1(GLIBC_2.3)
libthread_db.so.1(GLIBC_2.3.3)

Wenn dein Programm nun diese GLIBC_2..3.4 Version woanders findet ...
prüfe mal ob du evtl noch eine glibc in /usr/local/lib stehen hast. Oder setze zusätzlich in deiner LD_LIBRARY_PATH Anweisung den Pfad /usr/lib ganz vorne dran.
 
@oc2pus: Nein, ich glaube, das Problem ist ein anderes. Im Paket ist eine eigene libc.so.6 dabei, die älter ist als die SuSE-eigene. Mittels LD_LIBRARY_PATH wird jetzt die ältere statt der systemeigenen benutzt, was dazu führt, dass die Anwendung selbst zufrieden ist, aber die systemeigenen Bibliotheken nicht mehr.

Mein Vorschlag: Die mit dem Paket gelieferte libc.so.6 aus dem Weg räumen, damit die neuere SuSE-eigene für alles benutzt wird. Vielleicht reicht es auch aus, die SuSE-eigene vorne zum LD_LIBRARY_PATH hinzuzufügen, dann aber nicht /usr/lib, sondern /lib oder /lib/tls oder /lib/i686 - und genau das ist das Problem, weil es immer mehrere libc.so.6 gibt und die Methode zum Auffinden der richtigen sich nicht so gut mit LD_LIBRARY_PATH nachbilden lässt.
 
traffic schrieb:
@oc2pus: Nein, ich glaube, das Problem ist ein anderes. Im Paket ist eine eigene libc.so.6 dabei, die älter ist als die SuSE-eigene. Mittels LD_LIBRARY_PATH wird jetzt die ältere statt der systemeigenen benutzt, was dazu führt, dass die Anwendung selbst zufrieden ist, aber die systemeigenen Bibliotheken nicht mehr.
ja, in dieser Richtung dachte ich mir das auch, deshalb den LD_LIBRARY_PATH mit && vor den Aufruf setzen, aber das hat ja auch nicht funktioniert ;(

oder hast du evtl noch einen vorherigen "export" aktiv gehabt ?
 
Erstmal vielen herzlichen Dank für euere Hilfe. Ist ne tolle Comunity hier!
:D
Ich werde morgen früh gleich mal testen ob ich es damit zum laufen bekommen.
 
Oben