ports
- How to upgrade devel/
pcre regular expression library 正規表現ライブラリPCRE
(deve/ pcre) のportがアップデートされました。インストールされるライブラリlibpcre. soのメジャーバージョンが0から1へ変更されているため、 多くのアプリケーションやライブラリが影響を受けます。PCREを採用しているライブラリやアプリケーションが多いためです。/usr/ ports/ UPDATINGには次のような説明が記載されています。 portupgrade(8)を使っている場合、
この方法でアップグレードが可能です。portupgrade(8)を使った場合には 「libpcre. so. 0」 は 「/usr/ local/ lib/ compat/ pkg/」 へコピーされ、 すでにインストールされているアプリケーションやライブラリでlibpcre. so. 0を使用しているものは 「/usr/ local/ lib/ compat/ pkg/ libpcre. so. 0」 を参照するようになります。 「/usr/ local/ lib/ compat/ pkg/」 は起動時にldconfig(8)に追加されるデフォルトのパスです。/etc/ defaults/ rc. confファイルの 「ldconfig_ paths」 の項目に記載されています。 portmaster(8)を使っている場合には注意が必要です。UPDATINGに記載されている方法ではライブラリの退避が実施されません。portmaster(8)を使っている場合には次のように実行してみてください。
「-w」 は既存のライブラリで新しいバージョンで削除されるものを 「/usr/ local/ lib/ compat/ pkg/」 に退避させる設定ですが、 環境変数LOCALBASEが設定されていないと機能しません。 UPDATINGの説明通りにportmaster(8)を実行した場合、
libpcre. so. 0が削除され、 libpcre. so. 1がインストールされた状態になっている可能性があります。この場合、 既存のアプリケーションやツールの多くが動作しなくなります。関連するプログラムをすべて再構築しようとしても、 ツールそのものがlibpcre. so. 0に依存しているものがあり、 アップデート作業はうまくいきません。一旦以前のバージョンのportを取得するなどして 「libpcre. so. 0」 を入れなおし、 作業をやり直す方が簡単です。