FreeBSD下更新 help2man 出现 “perl module Locale::gettext required” 的错误

在更新 FreeBSD 的 help2man 时,出现了“configure: error: perl module Locale::gettext required” 错误,查阅了网上的一些解答,比如:
https://forums.freebsd.org/threads/52260/
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=184276
没能解决。

我查看了一下 config.log,configure发现我的 perl 版本是 5.18,而我实现上已经更新到了 5.26。

我用 perl –version 看了一下,版本真的是5.18,而5.26的perl在 /usr/local/bin/perl5.26

/usr/bin/perl 确实是链接到了 5.18 版本文件上。

解决方法:删除 /usr/bin 里的 perl,重新ln -s /usr/local/bin/perl5.26 /usr/bin/perl

运行 perl –version 确认版本是 5.26

再回到 /usr/ports/misc/help2man 里 make install 即可。

在 FreeBSD 10.2 上安装 VMWare Tools

下载 vmware-tools-distrib.diff, vmblock-only.diff, vmmemctl-only.diff (如果你是用 ESXi5.5 则下载 vmmemctl-only55.diff)。保存到例如 /tmp 的文件夹下。

挂载光盘
# mount -t cd9660 /dev/cd0 /mnt

解压缩
# tar xzf /mnt/vmware-freebsd-tools.tar.gz

打补丁
# cd vmware-tools-distrib
# patch -p1 < /tmp/vmware-tools-distrib.diff
# cd lib/modules/source/
# tar xf vmblock.tar
# tar xf vmmemctl.tar
# cd vmblock-only
# patch -p1 < /tmp/vmblock-only.diff
# make
# make install
# cd ../vmmemctl-only
# patch -p1 < /tmp/vmmemctl-only.diff # ESXi5: /tmp/vmmemctl-only55.diff
# make
# make install

回到 vmware-tools-distrib 文件夹
# cd ../../../../

再正常安装
# ./vmware-install.pl

参考文档:http://ogris.de/vmware/freebsd10.html

升级 FreeBSD

仅记录关键步骤:

安装安全补丁

# freebsd-update fetch
# freebsd-update install

如果出错,可以执行
# freebsd-update rollback
回滚

版本升级

# freebsd-update -r 10.0-RELEASE upgrade

# shutdown -r now

# freebsd-update install

重建 Ports

# portmaster -af
如果没有 portmaster,先安装 portmaster,位于 ports-mgmt/portmaster

# freebsd-update install

更新 Ports

# portsnap fetch extract