fix bugs on FreeBSD.