Solarisのバグなのか、/etc/profileに
LD_LIBRARY_PATH=/usr/local/lib
を指定できない。
シズテム全体にかかわるライブラリはcrleコマンドで設定。
ユーザごとのライブラリはLD_LIBRARY_PATHで設定。
するのがよろしい。という訳で、crleコマンドでライブラリパスを設定する。
参考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を登録する。
# 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の場合、
/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