icu を portupgrade で更新してもライブラリが保存されなかった
2012-09-14


devel/icu を portupgrade で更新したところ、エラーが出るようになった。icu のライブラリが削除されてしまったようだ。動的ライブラリが見つからないと言われてプログラムが起動しない。

%/libexec/ld-elf.so.1: Shared object "libicui18n.so.38" not found, required by "sylpheed"

私は更新前のライブラリは、スナップショットなり別パーティションなりで常にバックアップを取っている。そこから持ってこられる。


# tar cvf -  libicu*| tar xf - -C /usr/local/lib/compat/pkg/
a libicudata.so
a libicudata.so.38
a libicudata.so.38.1
a libicui18n.so
a libicui18n.so.38
a libicui18n.so.38.1
a libicuio.so
a libicuio.so.38
a libicuio.so.38.1
a libicule.so
a libicule.so.38
a libicule.so.38.1
a libiculx.so
a libiculx.so.38
a libiculx.so.38.1
a libicutu.so
a libicutu.so.38
a libicutu.so.38.1
a libicuuc.so
a libicuuc.so.38
a libicuuc.so.38.1
icu は結構な数のライブラリを提供していて古いバージョンのそれらがごっそりと無くなっていた。

ライブラリの検索ディレクトリに /usr/local/compat が古いライブラリの為にある。その中に特に ports/package 用のディレクトリがさらにあって /usr/local/lib/compat/pkg/ がそこだ。portupgrade は自動的にそこに .so ファイルを複製してから、削除を行うのだがなぜだか、そこから抜けてしまったファイルがあったわけだ。

[FreeBSD]
[ports]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット