![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
環境は、debianEtchなのですが
(1)LD_LIBRARY_PATH=/usr/local/lib
(2)echo "/usr/local/lib" >> /etc/ld.so.conf
ldconfig
と2通りの設定で実験をしたのですが、
(1)の設定ではプログラムがエラーを吐かずに動く。
(2)の設定では、プログラムがエラーを吐いて動かない。
(1)と(2)の設定では、何が違うのでしょうか。
私の考えではライブラリの検索場所を探してるという同じ位置づけなのです。
どなたかご存知の方がいられましたらご教授のほうお願いします。
No.2ベストアンサー
- 回答日時:
ちなみにどういうエラーが出ていますか?
ライブラリが見つからないと言うことなら、ld.so.confに書き込んだものが間違っているような気がします(タイプミスとか?)。
ライブラリが見つかっているけど、関数等が見つからないのでしたらld.so.confの一番最後に/usr/local/libが書き込まれているので、別にインストールされたライブラリがリンクされていると思われます。この場合は、/etc/ld.so.confをエディタで修正して、/usr/local/libを一番最初にすれば良いと思います。LD_LIBRARY_PATHに設定されたパスはld.so.confよりも先に探しますので、同一名のshared libraryがある場合は順序も考える必要があります。
どのモジュールをリンクしているかはldd <実行ファイル>で確認できます。
No.1
- 回答日時:
export LD_LIBRARY_PATH=/usr/local/lib
としても、エラーを吐かずに動きますか ?
この回答への補足
export LD_LIBRARY_PATH=/usr/local/lib
を実行すると、LD_LIBRARY_PATHが組み込まれるので動きだします。
ただ、再起動をすると、消えてしまうみたいでもう一度設定する必要があるみたいなのです。
そこで、
echo "/usr/local/lib" >> /etc/ld.so.confに記述し、ldoconfigでキャッシュを作っておけば再起動してもライブラリパスが飛ばないかなとおもったんですがエラーを吐いて動かないのです。
bashrcに記述しておけば、問題の解決にはなるのですが、
export LD_LIBRARY_PATH=/usr/local/libを、bashrcに書くのはよくないという記事を見たのでできるだけ、
echo "/usr/local/lib" >> /etc/ld.so.confでしたいと考えたのです。
私の中では、LD_LIBRARY_PATHも/etc/ld.so.confも
ライブラリパスの検索場所を記述しているものだと思っているのですが
二つのコマンドの意味はひょっとして違うのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- PostgreSQL PostgreSQL14.6のSSL対応について 1 2023/01/05 15:42
- MySQL Mac です。ローカルホストの phpMyAdmin にアクセスできません。 1 2023/06/06 17:14
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- Ruby Ruby / passenger のインストールについて 1 2023/01/30 18:31
- Windows 10 pathが通らない 2 2023/03/27 11:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数ファイルのシンボリックリンク
-
Postfixでmailコマンドを使用し...
-
バッチファイルでのスペースの入力
-
DebianのApache(掲示板)CGIエ...
-
".bashrc" E509: バックアップ...
-
CSHが使えない REDHAT
-
ソフトのインストール場所って...
-
USBメモリ内のバッチで書き出す...
-
CPUとOS の違いは?
-
VBでExcelが起動されているか知...
-
DINPUT.DLLって何物
-
アプリケーションをインストー...
-
batが動かない
-
Macの手書き漢字入力ツールにつ...
-
Linux環境変数設定(putenv?se...
-
DOS/V機とは?
-
libintlの入手方法を教えてくだ...
-
「エンドタグがスタートタグと...
-
PC/AT互換機は、ほとんどのPCの...
-
OS インストール場所確認
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイルでのスペースの入力
-
.cshrcでのエラー
-
Postfixでmailコマンドを使用し...
-
proftpdをアンインストールしたい
-
pkg-config のPKG_CONFIG_PATH...
-
Apace2のインストールでエラー
-
linuxのフォルダと配置について
-
DebianのApache(掲示板)CGIエ...
-
「/usr/bin/ld」の問題について...
-
デフォルトエディタを変更でき...
-
/usrがいっぱいになって。mount...
-
gccでx11コンパイル
-
cygwinでno such file or direc...
-
emacsでサブディレクトリもload...
-
Solarisでプロンプトの変更方法
-
コンパイルの途中で、以下のよ...
-
".bashrc" E509: バックアップ...
-
cygwinでinetdをサービスに登録...
-
Sendmailにパッチを当てたら大...
-
ProFTPd + iconvパッチ Charset...
おすすめ情報