J'ai installé Mathematica 9 sur un ancien système Red Hat Enterprise Linux AS version 4. Après l'installation, j'ai essayé de démarrer Mathematica, mais le message suivant est sorti:
/home/wcbao/M/Wolfram/Mathematica/9.0/SystemFiles/FrontEnd/Binaries/Linux-x86-64/Mathematica: /lib64/tls/libc.so.6: version `GLIBC_2.4 'introuvable (requis par / home / wcbao / M / Wolfram / Mathematica / 9.0 / SystemFiles / Libraries / 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 'introuvable (requis par / home / wcbao / M / Wolfram / Mathematica / 9.0 / SystemFiles / Libraries / Linux-x86-64 / libQtCore.so.4)
Je ne veux pas mettre à jour la glibc du système, car c'est risqué et l'administrateur ne me permet pas de le faire.
Quelqu'un a suggéré qu'il était possible d'installer simplement une nouvelle version de glibc ailleurs et d'exécuter le programme en tant que
LD_LIBRARY_PATH=/lib/new your_application
et cela n'affectera pas le système.
Je demande donc ici si cette méthode fonctionne vraiment. Et si cela fonctionne, je veux savoir comment le faire étape par étape (je manque d'expérience en Linux en ce moment, et je veux utiliser Mathematica sur Linux dès que possible).
Modifier :
J'ai remarqué qu'il existe un logiciel appelé "Ermine". Il semble qu'il puisse déployer un logiciel en tant que package autonome qui ne dépend pas de l'environnement externe. Malheureusement, c'est un shareware. Je pense donc que "Ermine" peut le faire, il doit y avoir un moyen d'utiliser un nouveau logiciel sur l'ancien système.
Réponses:
Vous pouvez certainement compiler une nouvelle version de GLIBC et la stocker dans un répertoire séparé. La première chose que vous devrez faire est de télécharger la version de glibc que vous souhaitez sur http://ftp.gnu.org/gnu/glibc/ .
Exécutez le
configure
script et définissez le--prefix=
sur quelque chose comme/home/you/mylibs
.Après avoir réussi à l'installer dans ce répertoire, vous devrez définir votre
LD_LIBRARY_PATH
à l'emplacement de la nouvelle glibc.Vous devrez déterminer toutes les dépendances que vous devrez peut-être compiler. Vous pouvez créer un script shell qui définit les variables LD_ * et les exécutions de votre programme (que vous auriez à faire de toute façon), et l'exécuter à plusieurs reprises - télécharger / recompiler les bibliothèques manquantes en cours de route.
Vous pouvez également utiliser
ldd
pour déterminer les bibliothèques partagées dont le programme a besoin, puis utiliserldd
sur chacune des bibliothèques pour savoir si elles nécessitent une glibc.Cela peut être un processus très long et ne convient pas aux impatients ou aux faibles de cœur - traverser / recompiler votre chemin à travers les dépendances possibles nécessaires pour faire fonctionner votre application peut parfois vous donner envie de vous arracher les cheveux.
Mise à jour 1:
J'ai téléchargé glibc-2.4 et essayé de le compiler sur CentOS 6. Pour
configure
fonctionner correctement, j'ai dû changer les vérifications de versionac
etld
en changeant:à:
aux lignes
4045
et4106
dans leconfigure
fichier lui-même. J'ai défini mes variables d'environnement * FLAGS comme suit:puis exécuté
./configure --prefix=/home/tim/masochist
. Il s'est configuré correctement ... et il a commencé à se construire correctement aussi ... mais j'ai ensuite commencé à rencontrer des erreurs - principalement le compilateur se plaignant de la redéfinition des choses.À ce stade, j'ai abandonné ... Parce que cela prenait trop de temps . ;)
la source
root
ou si vous faites quelque chose de bizarre comme changer votre LD_PRELOAD dans votre script d'initialisation de session et vous verrouiller.La mise à jour de glibc vers une version prise en charge par votre distribution présente un faible risque. Il est écrit pour gérer la compatibilité avec les versions qui datent de très loin , et (à l'exception des bogues), une nouvelle version devrait simplement être une goutte de remplacement. Installer une nouvelle version dans un endroit étrange est plus risqué, à mon humble avis.
la source
Dans ce cas particulier, je dirais ne vous embêtez pas, sauf si vous avez l'aide (et la permission) des administrateurs de ce système partagé.
Mathematica fonctionne sur Windows, Mac et Linux, alors installez-le simplement sur votre ordinateur de bureau où vous n'avez pas à vous soucier d'affecter les autres. Il est également plus probable que le système d'exploitation soit plus récent que RHEL4 et vous n'aurez donc pas à effectuer de contorsions pour l'installer.
la source