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
.