# find /tmp/usr/local ! -type d (何も出力されないことを確認) # make PREFIX=/tmp/usr/local package # pkg_delete hoge_pkg_name # pkg_add /hoge_pkg_dir/hoge_pkg_name.tgz # pkg_delete hoge_pkg_name # find /tmp/usr/local ! -type d (何も出力されないことを確認)
# find /tmp/usr/X11R6 ! -type d (何も出力されないことを確認) # make DESTDIR=/tmp PREFIX=/tmp/usr/X11R6 package # pkg_delete hoge_pkg_name # pkg_add /hoge_pkg_dir/hoge_pkg_name.tgz # pkg_delete hoge_pkg_name # find /tmp/usr/X11R6 ! -type d (何も出力されないことを確認)
現在多くのシステムは浮動小数点例外を IEEE 754 で扱うのですが、 FreeBSD では旧来の SIGFPE を発生します。他のシステムでは、無限大 (Inf, -Inf) なり非数値数 (NaN) を返して通常処理になるところが、 SIGFPE のデフォルト動作はcore dump なので落ちます。
FreeBSD で他のシステムの振舞に合わせる場合、次 のようなコードを main の入口と出口に入れるといいかもしれません。
#ifdef __FreeBSD__ #include <floatingpoint.h> #endif #ifdef __FreeBSD__ /* allow divide by zero -- Inf */ fpsetmask(fpgetmask() & ~(FP_X_DZ|FP_X_INV)); #endif : #ifdef __FreeBSD__ fpresetsticky(FP_X_DZ|FP_X_INV); fpsetmask(FP_X_DZ|FP_X_INV); #endif