Solarisのライブラリパス(LD_LIBRARY_PATH)
- 2007.01.11
- Solaris
シズテム全体にかかわるライブラリはcrleコマンドで設定。
ユーザごとのライブラリはLD_LIBRARY_PATHで設定。(Oracleユーザだったら、Oracleのライブラリを指定するなど)
LD_LIBRARY_PATHについては、色々な人が色々な意見を持っているので、検索エンジンで調べてみてくださいな。
参考URL
■ライブラリパスの確認
$ crle -v Default configuration file (/var/ld/ld.config) not found Default Library Path (ELF): /usr/lib (system default) Trusted Directories (ELF): /usr/lib/secure (system default)
/var/ld/ld.configがまだ作られていないことが分かる。(not found)
/var/ld/ld.configをcrleコマンドで作る。viで作らないこと。
もし、ld.configが存在していたら、削除するか、リネームしておく。
■ライブラリパスの登録
まず最初に、/var/ld/ld.config を作って、/libと/usr/libを登録する。(優先順位を考慮すること)
ちなみに今使っているSolaris9は、/libは/usr/libへのエイリアス。
# crle -c /var/ld/ld.config -l /lib:/usr/lib
基本的なライブラリパスを-uオプションで優先順位を考えて追加する。
# crle -u -l /usr/local/lib:/usr/sfw/lib
さらに必要なパスを追加する
# crle -u -l /usr/openwin/lib:/usr/xpg4/lib:/usr/ccs/lib
■ライブラリパスを確認する
デフォルトライブラリ
# crle -v Configuration file [version 4]: /var/ld/ld.config Default Library Path (ELF): /lib:/usr/lib:/usr/local/lib:/usr/sfw/lib: /usr/openwin/lib:/usr/dt/lib:/usr/xpg4/lib:/usr/ccs/lib Trusted Directories (ELF): /usr/lib/secure (system default) Command line: crle -c /var/ld/ld.config \ -l /lib:/usr/lib:/usr/local/lib:/usr/sfw/lib:/usr/openwin/lib:/usr/dt/lib: /usr/xpg4/lib:/usr/ccs/lib
■Solaris10のライブラリパス
Solaris10の場合、
/usr/sfw/lib FreeType, PNG, JPEGライブラリがインストールされている。
/usr/local/mysql/lib/mysql snortなど libmysqlclient.so.10 が必要な場合に指定する。
■ライブラリのエラーメッセージ
ライブラリが存在しないというエラーは、/var/adm/message をチェックする。
■共有ライブラリとは
共有ライブラリに関する情報:
xxxxx.so.(バージョン番号) ってやつで、部品化された関数の集合みたいなもの。
http://www.ncad.co.jp/~komata/c-kouza26.htm
使っている共有ライブラリを調べるときは、lddコマンドを使う。
例:lsコマンドが使っている共有ライブラリ
# ldd /bin/ls libc.so.1 => /usr/lib/libc.so.1 libdl.so.1 => /usr/lib/libdl.so.1 /usr/platform/SUNW,Sun-Fire-V240/lib/libc_psr.so.1
-
前の記事
Oracle XEのインストール後の初期状態 2007.01.10
-
次の記事
Solarisでlibxmlとlibxsltをインストールする 2007.01.11