FreeBSD10.3: kernel: Shared object “libmd.so.5” not found

FreeBSD 10.3 を freebsd-update コマンドでマイナーバージョンアップしたところ、自動的にサーバーの時計を合わせる ntpd がエラーを吐いて動かなくなってしまいました。

kernel: Shared object "libmd.so.5" not found, required by "ntpd"

ls -l  コマンドで確認してみると、

# ll /usr/lib/libmd.so 
lrwxr-xr-x  1 root  wheel  15  2月  8  2017 /usr/lib/libmd.so -> /lib/libmd.so.6

libmd.so.5 から libmd.so.6 に更新されたことにより、必要なバージョンのライブラリーが無くなってしまったことが原因のようです。
こういう時は、たいてい古いライブラリの名前をシンボリックリンクにより作ってしまえば回避できることが多いのですが、今回は駄目でした。

しばらく悩んだものの、rc.conf を確認してみると、

ntpd_program="/usr/local/sbin/ntpd"

と、なっており、OS付属の /usr/sbin/ntpd ではなく ports からインストールしたバージョンの方が動いていることがわかりました。

この行をコメントにして、/usr/sbin/ntpd が動くようにしたところ、問題解決。

OSバージョンアップには、こういう事がつきものなのが面倒なところです。

コメントを残す