Ich habe Mathematica 9 auf einem alten Red Hat Enterprise Linux AS Release 4-System installiert. Nach der Installation habe ich versucht, Mathematica zu starten, aber die folgende Meldung wurde ausgegeben:
/home/wcbao/M/Wolfram/Mathematica/9.0/SystemFiles/FrontEnd/Binaries/Linux-x86-64/Mathematica: /lib64/tls/libc.so.6: Version `GLIBC_2.4 'nicht gefunden (benötigt von / home / wcbao / M / Wolfram / Mathematica / 9.0 / Systemdateien / Bibliotheken / Linux-x86-64 / libML64i3.so)
/home/wcbao/M/Wolfram/Mathematica/9.0/SystemFiles/FrontEnd/Binaries/Linux-x86-64/Mathematica: /lib64/tls/libc.so.6: Version `GLIBC_2.4 'nicht gefunden (benötigt von / home / wcbao / M / Wolfram / Mathematica / 9.0 / Systemdateien / Bibliotheken / Linux-x86-64 / libQtCore.so.4)
Ich möchte das System nicht glibc aktualisieren, weil es riskant ist und der Administrator mir das nicht erlaubt.
Jemand schlug vor, dass es möglich sei, eine neue Version von glibc irgendwo anders zu installieren und das Programm als auszuführen
LD_LIBRARY_PATH=/lib/new your_application
und dies wird das System nicht beeinflussen.
Ich frage hier, ob diese Methode wirklich funktioniert. Und wenn es funktioniert, möchte ich wissen, wie es Schritt für Schritt gemacht wird (mir fehlen momentan Erfahrungen mit Linux und ich möchte Mathematica so schnell wie möglich unter Linux einsetzen).
Bearbeiten :
Mir ist aufgefallen, dass es eine Software namens "Ermine" gibt. Es scheint, dass es eine Software als eigenständiges Paket bereitstellen kann, das nicht von der externen Umgebung abhängt. Leider ist es eine Shareware. Ich denke, da "Ermine" das kann, muss es eine Möglichkeit geben, neue Software auf alten Systemen zu verwenden.
Antworten:
Sie können definitiv eine neue Version von GLIBC kompilieren und in einem separaten Verzeichnis ablegen. Als erstes müssen Sie die gewünschte Version von glibc von http://ftp.gnu.org/gnu/glibc/ herunterladen .
Führen Sie das
configure
Skript aus und setzen Sie das--prefix=
auf so etwas wie/home/you/mylibs
.Nachdem Sie es in dieses Verzeichnis installiert haben, müssen Sie
LD_LIBRARY_PATH
den Speicherort der neuen glibc festlegen .Sie müssen alle Abhängigkeiten herausfinden, die Sie möglicherweise kompilieren müssen. Sie können ein Shell-Skript erstellen, das die LD_ * -Variablen setzt und Ihr Programm ausführt (was Sie ohnehin tun müssten), und es wiederholt ausführen - fehlende Bibliotheken herunterladen / neu kompilieren.
Sie können auch
ldd
bestimmen, welche gemeinsam genutzten Bibliotheken das Programm benötigt, und dannldd
in jeder der Bibliotheken herausfinden, ob sie glibc benötigen.Dies kann sehr zeitaufwändig sein und ist nichts für Ungeduldige oder schwache Nerven. Wenn Sie sich durch die möglichen Abhängigkeiten bewegen, die für die Ausführung Ihrer Anwendung erforderlich sind, möchten Sie sich gelegentlich die Haare ausziehen.
Update 1:
Ich habe glibc-2.4 heruntergeladen und versucht, es unter CentOS 6 zu kompilieren. Um richtig zu
configure
funktionieren, musste ich dieac
undld
Versionsüberprüfung ändern , indem ich Folgendes änderte:zu:
in Zeilen
4045
und4106
in derconfigure
Datei selbst. Ich setze meine * FLAGS Umgebungsvariablen wie folgt:und dann ausgeführt
./configure --prefix=/home/tim/masochist
. Es wurde richtig konfiguriert ... und es wurde auch richtig gebaut ... aber dann fing ich an, auf Fehler zu stoßen - meistens beschwerte sich der Compiler über die Neudefinition von Dingen.Zu diesem Zeitpunkt gab ich auf ... weil es zu zeitaufwändig wurde . ;)
quelle
root
oder Sie tun etwas Seltsames wie das Ändern von LD_PRELOAD in Ihrem Session-Init-Skript und sperren sich aus.Das Aktualisieren von glibc auf eine von Ihrer Distribution unterstützte Version ist risikoarm. Es wurde geschrieben, um die Kompatibilität mit Versionen zu bewältigen, die weit zurückliegen, und (mit Ausnahme von Fehlern) sollte eine neue Version nur ein Tropfen Ersatz sein. Die Installation einer neuen Version an einem fremden Ort ist meiner Meinung nach riskanter.
quelle
In diesem speziellen Fall würde ich sagen, dass Sie sich nicht darum kümmern, es sei denn, Sie haben Unterstützung (und Erlaubnis) von den Administratoren dieses gemeinsam genutzten Systems.
Mathematica kann unter Windows, Mac und Linux ausgeführt werden. Installieren Sie es also einfach auf Ihrem Desktop-Computer, ohne dass Sie sich Gedanken darüber machen müssen, andere zu beeinflussen. Es ist auch wahrscheinlicher, dass das Betriebssystem aktueller als RHEL4 ist und Sie daher keine Verzerrungen vornehmen müssen, um es zu installieren.
quelle