Linux でダイナミック ライブラリをロードできません 次のような異常事態が発生した場合
動的ライブラリのパスが (/usr/cluster/.share/lib) の場合 解決: 方法1: /etc/ld.so.confファイルへのパスを追加する、vi /etc/ld.so.conf 次のコンテンツを追加します ld.so.conf.d/*.conf をインクルードする /usr/cluster/.share/lib 方法 2: ターミナルに次のように入力します: 方法3: /etc/profileファイルを変更する MPI_HOME=/usr/clusterをエクスポートする LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MPI_HOME/.share/lib をエクスポートします。 設定ファイルを有効にするには、ターミナルでsource /etc/profileを実行します。 プログラム実行中に動的ライブラリをロードできない場合の解決策 エラーメッセージは次のとおりです。
一般的には 2 つの理由があります。1 つは、共有ライブラリ (lib*.so.* ファイル) がオペレーティング システムに含まれていないか、共有ライブラリのバージョンが正しくないことです。解決策は、再度ダウンロードしてインストールすることです。 もう 1 つの理由は、共有ライブラリがインストールされているが、共有ライブラリを呼び出す必要があるプログラムが実行されたときに、プログラムがデフォルトの共有ライブラリ パスに従って共有ライブラリ ファイルを見つけることができないことです。解決策は次のとおりです。 共有ライブラリ ファイルが /lib または /usr/lib ディレクトリにインストールされている場合は、ldconfig コマンドを実行します。 ldconfig コマンドの目的は、デフォルトの検索ディレクトリ (b および /usrb) およびダイナミック ライブラリ構成ファイル /etc/ld.so.conf にリストされているディレクトリで共有可能なダイナミック リンク ライブラリ (lib*.so* のような形式) を検索し、ダイナミック ローダー (ld.so) に必要な接続ファイルとキャッシュ ファイルを作成することです。キャッシュ ファイルはデフォルトで /etc/ld.so.cache に設定され、ダイナミック リンク ライブラリ名のソートされたリストが格納されます。 共有ライブラリ ファイルが /usr/local/lib (通常、オープン ソースの共有ライブラリはこのディレクトリにインストールされます) または /lib や /usr/lib 以外のディレクトリにインストールされている場合は、ldconfig コマンドを実行する前に、次のように、新しい共有ライブラリ ディレクトリを共有ライブラリ構成ファイル /etc/ld.so.conf に追加する必要があります。 # cat /etc/ld.so.conf ld.so.conf.d/*.conf をインクルードする # echo "/usr/local/lib" >> /etc/ld.so.conf #ldconfig または、/etc/ld.so.conf.d/ ディレクトリに .conf をサフィックスとして新しいファイルを作成し、ライブラリ ファイルが配置されているディレクトリをそのファイルに追加します。次に、ldconfig を実行して /etc/ld.so.cache ファイルを更新します。 共有ライブラリ ファイルが /lib または /usr/lib 以外のディレクトリにインストールされているが、共有ライブラリ パスを /etc/ld.so.conf ファイルに追加したくない (またはパスを追加する権限がない) 場合。グローバル変数 LD_LIBRARY_PATH は、共有ライブラリを検索するディレクトリをローダーに指示することを意味します。コロンで区切って複数の検索ディレクトリを設定できます。たとえば、mysql を /usr/local/mysql ディレクトリにインストールし、/usr/local/mysql/lib の下に多数のライブラリ ファイルがある場合は、次のステートメントを .bashrc または .bash_profile またはシェルに追加できます。 一般的に言えば、これは許可がない場合や一時的な必要性がある場合に使用される一時的な解決策にすぎません。 プログラムに必要なライブラリ ファイルが、システムに現在存在するライブラリ ファイルのバージョンよりも低い場合は、リンクを作成できます。例えば: 共有ライブラリの読み込み中にエラーが発生しました: libncurses.so.4: 共有ライブラリを開けません オブジェクトファイル: そのようなファイルまたはディレクトリはありません ls /usr/lib/libncu* /usr/lib/libncurses.a /usr/lib/libncurses.so.5 /usr/lib/libncurses.so /usr/lib/libncurses.so.5.3 libncurses.so.4 はないものの、下位互換性のある libncurses.so.5 があることがわかります。 リンクを作成するだけ ln -s /usr/lib/libncurses.so.5.3 /usr/lib/libncurses.so.4 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。 以下もご興味があるかもしれません:
|
>>: フローティングメニューを実装するjQueryプラグイン
コードをコピーコードは次のとおりです。 <スタイル> .fileInputContain...
この記事では、Linux で PHP curl 拡張機能をインストールする方法について説明します。ご...
この記事の例では、画像のドラッグアンドドロップ機能を実現するためのVueの具体的なコードを参考までに...
コードは次のようになります。 <!DOCTYPE html> <html> ...
この記事では、centos6.6 で php7 + nginx 環境をインストールする方法について説...
Docker コンテナが終了しても、デバッグを容易にし、ユーザー データを保持するために、デフォルト...
この記事では、WeChatアプレットのウォーターフォールフローページングスクロールロードを実装するた...
序文:基本的に、自社で使用する場合でも、顧客向けにサーバーを展開する場合でも、MySQL のバックア...
OO、デザイン パターン、および多くのオブジェクト指向の原則について話す前に、まず 1 つのことを習...
PostgreSQL正規表現の一般的な機能の概要正規表現は、複雑なデータ処理を必要とするプログラムに...
概要: MySQL JDBC 抽出にはどのような方法を使用すればよいでしょうか? その方法を説明しま...
ここ数日ブログを更新していませんでした。簡単な HTML+CSS プロジェクトを終えたところです。数...
ElementUIは、参考のためにテーブルツリーリストの読み込みチュートリアルを実装しています。具体...
div 要素は、HTML ドキュメント内のブロックレベル コンテンツの構造と背景を提供するために使用...
使用シナリオ:プロジェクトのページでは、頻繁に変更されず、個別のカスタマイズも伴わない大量のデータを...