中治@鳥取です。

>>>>> In 
>>>>> <[&#x30E1;&#x30FC;&#x30EB;&#x30A2;&#x30C9;&#x30EC;&#x30B9;&#x4FDD;&#x8B77;]>
>>>>>  
>>>>>   "bsd" 
>>>>> <[&#x30E1;&#x30FC;&#x30EB;&#x30A2;&#x30C9;&#x30EC;&#x30B9;&#x4FDD;&#x8B77;]>
>>>>>  wrote:

> システム起動時、PPPの起動に失敗してしまいます。

> Starting PPP profile: xxx のメッセージが表示された直後、

> /libexec/ld-elf.so.1: Shared object "libintl.so.8" not found, required by "su"

> というメッセージが表示されているのですが、解決方法がわかりません。
> アドバイスを頂けると幸いです。

> libintl.so.8 は、存在しています。

> # ls -l /usr/local/lib/libintl.so*
> lrwxr-xr-x  1 root  wheel     12 Feb 28 11:02 /usr/local/lib/libintl.so -> 
> libintl.so.8
> -r--r--r--  1 root  wheel  39968 Feb 28 11:02 /usr/local/lib/libintl.so.8

システム起動時に/etc/rc.d/pppが実行される時点では、/usr/local/libにある共
有ライブラリは利用できないはずです。rcorder /etc/rc.d/* すればわかりますが、
例えば8.0-CURRENTの場合、

$ rcorder /etc/rc.d/*| egrep '(ppp|ldconfig)'
/etc/rc.d/sppp
/etc/rc.d/ppp
/etc/rc.d/ldconfig
/etc/rc.d/pppoed

ということで、/usr/local/libが利用できるのは、/etc/rc.d/ppp が実行された後
です。ですが、

> # ldd -a /usr/bin/su
> /usr/bin/su:
>        libutil.so.5 => /lib/libutil.so.5 (0x2807c000)
>        libpam.so.3 => /usr/lib/libpam.so.3 (0x28088000)
>        libbsm.so.1 => /usr/lib/libbsm.so.1 (0x2808f000)
>        libc.so.6 => /lib/libc.so.6 (0x280a3000)

という状況で、なぜ、suコマンドがlibintl.so.8を必要とするのかわかりません。

> その後、isc-dhcp, pf, apache22, PHP5 などを入れた後、
> システム起動時に PPP の起動に失敗していることに気づきました。

/lib/lib*.so
/usr/lib/lib*.so
/usr/local/lib/lib*.so

で同じファイル名の共有ライブラリが混ざっている、なんてことはありませんか?

あるいは、/etc/rc.d/ppp の

        su -m $ppp_user -c "$command ${rc_flags} ${_ppp_profile}"
を
        /usr/bin/su -m $ppp_user -c "$command ${rc_flags} ${_ppp_profile}"
に変更しても、事態は変わりませんか?
-- 
NAKAJI Hiroyuki (中治 弘行)

メールによる返信