3.2 FreeBSD - メンテナンス・トラブルシュート - pkg・ports アップデート関連 - No such file ... /usr/local/lib/compat/pkg

 
3.2.1 概要
3.2.2 やってみる
3.2.3 メインのマシンで確認

3.2.1 概要

 本項を書いているのは 2018年4月27日ですが。  実はここんとこずっと出ている症状で

portupgrade -Rr 'ports'
 すると、アップデート自体は正常にできているようなのですが、コマンドの終了がいつも

--->  Cleaning out obsolete shared libraries
No such file or directory @ realpath_rec - /usr/local/lib/compat/pkg/libmysqlclient.so.20
 てな感じで終了するのです。  なかなかよい記事がないのですが「Solved - MySQL update | The FreeBSD Forums」を読んで・・・。  ちゃんと

/usr/local/lib/compat/pkg/libmysqlclient.so.20
 を調べてみたら

> ls -la /usr/local/lib/compat/pkg/libmysqlclient_r.so.20
lrwxr-xr-x 1 root wheel 20  4月 12 08:20 /usr/local/lib/compat/pkg/libmysqlclient_r.so.20 -> libmysqlclient.so.20
 シンボリックリンクのリンク先がないのにシンボリックリンクだけが残っているから?  リンク先無くても正常に動作するようなので、次回の portupgrade 時にこのファイル消しちゃおうと思っているのです。  そのときにはこの顛末をここに記載することになると思います。

3.2.2 やってみる

 メインでなくサブマシンの方で、libmysqlclient.so のバージョンは異なりますが(libmysqlclient.so.18)同じ現象が出たので、試してみます。

/usr/local/lib/compat/pkg/
 に存在するリンク先をなくしたシンボリックリンクを削除して portupgrade を行ったところ前項のようなエラーは表示されなくなりました。  問題なさそうです。

3.2.3 メインのマシンで確認

 2018年4月28日にメインのマシンでも確認することができました。  問題なく動いているようです。