FreeBSD Daily Topics

2012年8月13日 FreeBSD 10-CURRENTでpkg(8)を使う場合のコツ

この記事を読むのに必要な時間:およそ 0.5 分

pkgng

FreeBSD HEAD and pkg(8)

pkg(8)のパッケージは頻繁にビルドされバージョンアップされていきますが,FreeBSD HEADのブランチに常に追いついているわけではありません。このため,FreeBSD HEAD(FreeBSD 10-CURRENT)を追い続けながらpkg(8)を使うというやり方をする場合,pkg(8)経由でインストールしたソフトウェアが使えなくなることがあります。

たとえば最近の例ですと,ベースシステムにマージされているOpenSSLのライブラリがlibssl.so.6からlibssl.so.7にアップデートされましたので,libssl.so.6を前提にしてビルドされたpkg(8)のパッケージは,FreeBSD HEADでは動作しなくなります。

これを避ける方法として,make delete-oldおよびmake delete-old-libsを実行しないで古いバージョンのライブラリも保持し続けるか,または古いバージョンのライブラリを/usr/local/lib/compat/pkg/にコピーして管理するという方法があります。/usr/local/lib/compat/pkg/に古いバージョンのライブラリをコピーしたら,次のようにしてldconfigのパスをアップデートします。

# service ldconfig start
ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib /usr/local/lib/compat/pkg /usr/local/kde4/lib /usr/local/lib/gcc46 /usr/local/lib/nss /usr/local/lib/portaudio2 /usr/local/lib/qt4 /usr/local/lib/virtualbox
32-bit compatibility ldconfig path: /usr/lib32
#  

/usr/local/lib/compat/pkg/にコピーするなどした後はmake delete-oldおよびmake delete-old-libsを実施して,古いバージョンのライブラリを削除してもかまいません。削除したあとはシステムを再起動するか,上記のようにldconfigパスを更新することを忘れないで実施してください。

コメント

コメントの記入