fam v.s. gamin ― 2008年01月08日 14時56分29秒
FAM, the File Alteration Monitor, provides an API which applications can use to be notified when specific files or directories are changed.
Gamin is a file and directory monitoring system defined to be a subset of the FAM (File Alteration Monitor) system. This is a service provided by a library which allows to detect when a file or a directory has been modified.
Whereas the FreeBSD port of FAM polls files every few seconds, this port includes a kqueue(2) backend for immediate notification of most alterations.
そのため、 conflict を起こす。以下のようなエラーで困っている人は、結構いるようだ。 このメール自体は既に一年以上前なので、もう少し調べたところ、対処の仕方が現在では変わっているように見受けられる。
> ===> fam-2.6.9_6 conflicts with installed package(s):
> gamin-0.1.5_2
>
> They install files into the same place.
> Please remove them first with pkg_delete(1).
>
>
> I have tried removing fam, then reinstalling gamin and vice versa.
portupgrade -o devel/gamin -f fam
gamin は fam の一部しか実装していないらしい。しかし、ports でのデフォルトは gamin になっている。今では、どちらでも良くなったのかもしれない。とにかく、gamin の方が FreeBSD では性能がいいそうだ。
gamin と fam の問題にあったら、
が現時点での正解かと思う。
# portupgrade -o devel/fam -f gamin
portupgrade -o devel/gamin devel/fam
が fam を gamin で置き換えるコマンドでした。1 月 10 日修正。また、WITH_FAM_SYSTEM=gamin
の様に、明示的にどちらの fam ライブラリを使うかも指定できる。
次回。
最近のコメント