アプリケーション開発ポータルサイト
ServerNote.NET
カテゴリー【Debian
【Debian初期設定4】LDロードパスに/usr/local/libを常時加える
POSTED BY
2023-09-30

ソースコードからインストールしたソフトは基本/usr/local/以下に入る。
/usr/local/libにあるシェアードライブラリを自前のCプログラムで使う場合(たとえばiconv)

gcc test.c -I/usr/local/include -L/usr/local/lib -liconv

などとしてコンパイルする。このプログラムを実行するときは環境変数LD_LIBRARY_PATHに/usr/local/libを設定して教えておかないと実行時エラーになる。

export LD_LIBRARY_PATH="/usr/local/lib" # bash
setenv LD_LIBRARY_PATH "/usr/local/lib" # tcsh
SetEnv LD_LIBRARY_PATH "/usr/local/lib" # Apache httpd.conf

しかしこれらをせずとも、
/etc/ld.so.conf の1行目に/usr/local/libを、

include /usr/local/lib
include /etc/ld.so.conf.d/*.conf

などと記述し、

ldconfig

とすれば、上記の -L/usr/local/lib、およびLD_LIBRARY_PATHの指定が不要になる…はずであるが、Raspberry PI の Raspbianではこれが有効、しかしDebianではなぜかやはり環境変数が無いと同じエラーになってしまった。

※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【WEBMASTER/管理人】
自営業プログラマーです。お仕事ください!
ご連絡は以下アドレスまでお願いします★

【キーワード検索】