GNU/Linux >> Tutoriels Linux >  >> Linux

Erreur lors de l'utilisation d'une version plus récente de la glibc

Dans mon cas, c'était centos 6 avec python pour pytorch .

J'ai eu des erreurs comme, etc. :

libraries: __vdso_time: invalid mode for dlopen(): Invalid argument

ImportError: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /home/evaldsu/.conda/envs/conda_env/lib/python3.6/site-

J'ai installé à côté de glibc-2.17 dans le répertoire local /opt/exp_soft/tools

puis j'ai installé dans conda env patching tool (peut également être installé à l'aide d'autres outils):

conda install -c conda-forge patchelf

puis j'ai corrigé le binaire de python pour utiliser un chemin glibc différent (vous pouvez le faire avec n'importe quel binaire). Sachez que cela changera votre binaire python.

patchelf --set-rpath /opt/exp_soft/tools/glibc-2.17/lib:$HOME/.conda/envs/conda_inf/lib:/usr/lib64:/lib64:/lib --set-interpreter /opt/exp_soft/tools/glibc-2.17/lib/ld-linux-x86-64.so.2 /home/evaldsu/.conda/envs/conda_inf/bin/python3.6

Une autre option consiste simplement à installer ce script si vous disposez d'un accès administrateur complet :

https://gist.github.com/harv/f86690fcad94f655906ee9e37c85b174


export LD_LIBRARY_PATH=/home/MYNAME/dependency/glibc-2.16/lib

Cette réponse explique pourquoi LD_LIBRARY_PATH ne fonctionne pas, et ce que vous devriez faire à la place.

J'ai lu ton message et j'ai essayé...
python: error while loading shared libraries: __vdso_time: invalid mode for dlopen(): Invalid argument

L'erreur signifie généralement que vous avez une discordance entre ld-linux et libc.so.6 . Ils doivent correspondance.

Si vous utilisez l'invocation directe du chargeur via /home/MYNAME/.../ld-2.16.so , vous devez également arranger pour /home/MYNAME/.../libc.so.6 à charger.

Vous pouvez le faire en passant --library-path ... à ld-2.16.so , ou en définissant LD_LIBRARY_PATH de manière appropriée.

Votre commande avec ld-2.16 --library-path ... ls est presque corriger. La chose qui vous manque est que ld-2.16 ne va pas recherchez votre PATH . Vous devez lui donner plein chemin :ld-2.16 --library-path ... /bin/ls .


Linux
  1. Erreur lors de l'utilisation de GRANT avec IDENTIFIED by password dans MySQL

  2. cp :répertoire omis - erreur lors de la copie d'un répertoire sous Linux

  3. erreur ldconfig :n'est pas un lien symbolique

  4. erreur lors du chargement des bibliothèques partagées :libncurses.so.5 :

  5. Rails :désinstaller une version spécifique d'une bibliothèque à l'aide de gem

Erreur Virtualbox - Échec du chargement du module ring-0 VBoxEhciR0.r0

Erreur SMTP lors de l'utilisation de PHPMailer avec l'authentification GMail

Utiliser et dans la boucle while de Bash

Une erreur s'est produite lors de l'installation de la bordure (0.8.5)

Erreur d'installation de PHP5-Curl aucun candidat à l'installation

Une batterie d'ordinateur portable peut-elle exploser sous Linux ?