中治@鳥取です。 >>>>> In >>>>> <[メールアドレス保護]> >>>>> >>>>> "bsd" >>>>> <[メールアドレス保護]> >>>>> 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 (中治 弘行)