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プラグイン
CentOS7をダウンロード私がダウンロードしたイメージはCentOS-7-x86_64-DVD-1...
MySQL メモリ テーブルと一時テーブルの使用メモリテーブル: セッション 1 $ mysql -...
目次1. 観察可能2. 高階関数3. エクスプレスボックスモデル3.1. エクスプレスボックスモデル...
コンテンツスキャフォールディングを使用してノードプロジェクトを素早く構築するデータベースとやり取りす...
react-routerでは、コンポーネント内のジャンプは<Link>で使用できます。し...
序文CSS グリッドは通常、さまざまなフレームワークにバンドルされていますが、実際のビジネス ニーズ...
IE で CSS3 を使用して角を丸くする方法を探していたときに、例を見つけました。まだテストして...
目次1. 複数の .catch 2. 複数の .catch 3. .then と .catch の連...
目次序文コンポーネントの作成要約する序文Vue3 には多くの注目すべき機能が追加されましたが、サスペ...
目次Matlab セントロイドアルゴリズムMatlab はクローズドな商用ソフトウェアであり、米国政...
1. イメージをプルするdocker pull registry.cn-hangzhou.aliyu...
目次必要:ドライブ:アイデア:成し遂げる:個人的には、実際の開発ではストアド プロシージャの使用はお...
目次mysqldの起動方法方法 1: mysqld方法 2: mysqld_safe方法3: mys...
目次道具:ログインシナリオ:練習する:シナリオ1: 思考と実践シナリオ2: 思考と実践要約する道具:...
1 ユーザーを作成し、ユーザーのルートパスとパスワードを指定します useradd -d /home...