faac 1.25 インストールの時のメッセージは…

アルコール分は高い!

前回の嫌な感じのメッセージについて、コメントしてくれた方がいた!

# とおりすがり 『>嫌な感じのメッセージ
/etc/ld.so.conf.d/に、「/usr/local/lib」と書いたfoo.confファイルを放り込んで、ldconfを実行。』
(2007/01/11 03:30)

ということらしい。あれこれ調べてみると、/etc/ld.so.conf.d/ というディレクトリに .conf ファイルを置いて、その .conf ファイルにライブラリ?が置かれているディレクトリを書いておく。で、最後に ldconf を実行すれば良いらしい。
なるほど〜と思って早速 /etc/ld.so.conf.d/ を確認。

paraches@debian:~$ ls /etc/ld.so.conf.d
ls: /etc/ld.so.conf.d: そのようなファイルやディレクトリはありません

あれ? 無いの?

paraches@debian:~$ ls -al /etc | grep ld.so*
-rw-r--r--   1 root   root    28879 2006-12-26 01:03 ld.so.cache
-rw-r--r--   1 root   root       15 2006-03-22 02:03 ld.so.conf
paraches@debian:~$ 

う〜ん、/etc/ld.so.confってファイルはあるみたい。でも、ディレクトリは見つからない。んじゃ、この /etc/ld.so.conf にあれこれ書いてあるのかな?

paraches@debian:~$ cat /etc/ld.so.conf 
/usr/X11R6/lib
paraches@debian:~$ 

え? X11R6?? デスクトップ環境入ってないから X11R6って関係ないのかと思ってたけど、何かのパッケージの関係で入ったのかな? それじゃ、その /usr/X11R6/lib には何が入ってるんだろう? ここに .a とか .so とか入ってればなんか状況が似てるから faac 1.25 でも良いのかもしれない。

paraches@debian:~$ ls /usr/X11R6/lib/
X11            libSM.so.6.0     libXi.so          libXt.so.6.0
libFS.a        libX11.a         libXi.so.6        libXtst.so.6
libGL.a        libX11.so        libXi.so.6.0      libXtst.so.6.1
libGL.so       libX11.so.6      libXinerama.a     libXv.a
libGL.so.1     libX11.so.6.2    libXmu.so.6       libXv.so
libGL.so.1.2   libXRes.a        libXmu.so.6.2     libXv.so.1
libGLU.a       libXTrap.so.6    libXmuu.so.1      libXv.so.1.0
libGLU.so      libXTrap.so.6.4  libXmuu.so.1.0    libXvMC.a
libGLU.so.1    libXau.a         libXp.so.6        libXxf86dga.a
libGLU.so.1.3  libXdmcp.a       libXp.so.6.2      libXxf86misc.a
libGLw.a       libXext.a        libXpm.so.4       libXxf86rush.a
libI810XvMC.a  libXext.so       libXpm.so.4.11    libXxf86vm.a
libICE.a       libXext.so.6     libXrandr.so.2    libfntstubs.a
libICE.so      libXext.so.6.4   libXrandr.so.2.0  libfontenc.a
libICE.so.6    libXfont.a       libXrender.la     liboldX.a
libICE.so.6.3  libXfontcache.a  libXss.a          libxf86config.a
libSM.a        libXft.so.1      libXt.a           libxkbfile.a
libSM.so       libXft.so.1.1    libXt.so          libxkbui.a
libSM.so.6     libXi.a          libXt.so.6
paraches@debian:~$ 

を! いい感じ。ということは、/etc/ld.so.conf に /usr/local/lib を書いておけば良いのかな? とりあえず書いておこう。

paraches@debian:~$ cat /etc/ld.so.conf
/usr/X11R6/lib
/usr/local/lib
paraches@debian:~$ 

さて、そしたら最後に ldconf を実行で良いはず。

paraches@debian:~$ ldconf
-bash: ldconf: command not found
paraches@debian:~$ 

ん?どこにあるんだ? 確認してみる。

paraches@debian:~$ which ldconf
paraches@debian:~$ sudo which ldconf
paraches@debian:~$ 

あらら…無いじゃん。
となると、これどうすれば良いんだ?本来なら /ld.so.conf.d に .conf を作って ldconf でその設定を読み込ませる?んだろうけど、ldconf が無いからどうにもならない。
う〜ん、ldconf をインストールすれば良いのか?

paraches@debian:~$ sudo apt-cache search ldconf
paraches@debian:~$ sudo apt-get install ldconf
パッケージリストを読みこんでいます... 完了0%
依存関係ツリーを作成しています... 完了%     
E: パッケージ ldconf が見付かりません
paraches@debian:~$ 

だぁ〜! ldconf が見つからない。
で、ググってみたら ldconfigってあるみたい。もしかしたら、これが入ってる?

paraches@debian:~$ sudo which ldconfig
/sbin/ldconfig
paraches@debian:~$ 

発見! それじゃ、これを実行すれば良いのね。

paraches@debian:~$ sudo ldconfig
paraches@debian:~$ 

問題なく終了。それじゃ、/etc/ld.so.cash を調べてみよう。

paraches@debian:~$ ls -al /etc | grep ld.so*
-rw-r--r--   1 root   root    29183 2007-01-15 23:45 ld.so.cache
-rw-r--r--   1 root   root       30 2007-01-15 23:22 ld.so.conf
-rw-r--r--   1 root   root       15 2007-01-15 23:21 ld.so.conf.org
paraches@debian:~$ 

を! ちゃんとアップデートされてるみたい。faac がキャッシュにあるかどうかチェック!

paraches@debian:~$ sudo ldconfig -p | grep faac
        libfaac.so.0 (libc6) => /usr/local/lib/libfaac.so.0
        libfaac.so (libc6) => /usr/local/lib/libfaac.so
paraches@debian:~$ 

というわけで、たぶんこれで良いんだと思うけど…。今度 ffmpeg をインストールする時に、ちゃんと読み込まれてるかどうかわかるでしょう。

あと、共有ライブラリの話はココで。良くわからないけど、ちょっとだけ見えた気がした。