私の場合は centos 6 でした pytorch の python を使用 .
次のようなエラーがありました:
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-
glibc-2.17 をローカル ディレクトリ /opt/exp_soft/tools にインストールしました
次に、conda env パッチ ツールにインストールしました (他のツールを使用してインストールすることもできます):
conda install -c conda-forge patchelf
次に、異なる glibc パスを使用するように Python のバイナリにパッチを適用しました (これは任意のバイナリで実行できます)。 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
もう 1 つのオプションは、完全な管理者アクセス権を持っている場合に、このスクリプトをインストールすることです:
https://gist.github.com/harv/f86690fcad94f655906ee9e37c85b174
<ブロック引用>
export LD_LIBRARY_PATH=/home/MYNAME/dependency/glibc-2.16/lib
この回答は、LD_LIBRARY_PATH
の理由を説明しています うまくいかない、代わりに何をすべきか.
私はあなたの投稿を読んで試しました...
python: error while loading shared libraries: __vdso_time: invalid mode for dlopen(): Invalid argument
エラーは通常、不一致があることを意味します ld-linux
の間 と libc.so.6
. しなければならない
/home/MYNAME/.../ld-2.16.so
による直接ローダー呼び出しを使用している場合 、あなたもする必要があります /home/MYNAME/.../libc.so.6
の手配
--library-path ...
を渡すことでそれを行うことができます ld-2.16.so
まで 、または LD_LIBRARY_PATH
を設定する
ld-2.16 --library-path ... ls
を使用したコマンド ほぼ 正しい。あなたが見逃しているのは ld-2.16
です しません あなたの PATH
を検索してください . フルにする必要があります パス名:ld-2.16 --library-path ... /bin/ls
.