Linux Ubuntu 3.16.0-31-generic のサーバーでプログラムを実行しようとすると、次のエラーが発生します。
共有ライブラリの読み込みエラー:libmpich.so.3:共有オブジェクトファイルを開くことができません。そのファイルまたはディレクトリはありません。
オンラインで解決策を検索しましたが、誰かが設定について話しているのを見ました。LD_LIBRARY_PATH何とか。ほとんどの方法にはsudoが必要ですが、管理者権限がないため使用できません。
これは実際に問題を解決しますか?では、どのように設定しますか?
答え1
この設定には権限は必要ありません。ENV
(「環境変数」セクションを参照)変える
そして共有オブジェクトが失われたため走るそしてインストールするアプリはまったく設定する必要はありません。 includeがありません。libmpich.so
"deb"パッケージストアで共有オブジェクトを含むlibmpich.so
エントリを見つけてインストールします。それを見つけるには、次の方法を試してください。
$ apt-cache search mpich
今質問に戻ります。
これを達成する方法はいくつかあります。セッション全体を直接設定するか、永続的に設定するか、コンパイル時にコンパイラに通知します。
オペレーティングシステムの環境変数の変更に関して最も速く、侵害が少ない方法は、コンパイルプロセスに対して設定することです。
$ LD_LIBRARY_PATH=/lib:/lib64:/usr/lib:/usr/lib64 run-binary-command
または、次のように現在のセッションに設定できます。
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/lib64:/usr/lib:/usr/lib64
永久に設定します。
$ echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/lib64:/usr/lib:/usr/lib64' >> ~/.profile