在FreeBSD系统上,指令说重build所有的p5- *端口 – 我该怎么做?
有点背景…我是一个经验丰富的Linux人,试用(并喜欢)最新的PC-BSD(PCBSD9.2-RELEASE-x64)。 我以前安装过简单的包和端口好吧,我想我会尝试一些更奇特的 – 单声道和F#:
cd /usr/ports/lang/mono && make install clean BATCH=yes && \ cd /usr/ports/lang/fsharp && make install clean BATCH=yes
我得到了这个错误输出:
configure: error: perl module Locale::gettext required ===> Script "configure" failed unexpectedly. Please read UPDATING entry 20130612 (http://svnweb.freebsd.org/ports/head/UPDATING?r1=320405&r2=32067) and PR/184276 (http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/184276) to fix your Perl installation if you got the error message "configure: error: perl module Locale::gettext required".
第一个链接不起作用(为什么不?),但第二个链接( http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/184276 )解释说:“Perl的目录结构是安装也已被修改…. [因为] 20130612布局更改的结果“,并解决方法是:
rebuild all p5-* ports
我认为所有的p5- *端口都意味着所有的Perl 5端口。 我如何find我安装的Perl 5端口? 并重build所有的人?
一般来说,您可以参考/usr/ports/UPDATING文件的内容来了解如何进行非平凡的升级。 通常,它为使用portupgrade,portmaster或二进制pkgng软件包的用户提供解决scheme。
以下是UPDATING文件中20130612条目的说明:
... Please rebuild all Perl ports and all ports that depend on it: # portmaster -r perl or # portupgrade -rf perl or # pkg install -fR perl
第一条指令用于使用ports-mgmt/portmaster端口的系统,第二ports-mgmt/portmaster用于使用ports-mgmt/portupgrade端口的系统,第三条指令用于使用二进制pkgng软件包的系统。
我担心,如果你想避免安装一个端口pipe理器/帮助器工具,那么你将会遇到一个更加困难的工作,因为你必须手动通过每一个Perl 5端口并运行make deinstall && make reinstall 。
尝试portupgrade -f /var/db/pkg/p5* 。 这将重build所有安装的p5*端口。
portupgrade不是基本系统的一部分。 您可以在ports-mgmt/portupgradefind此端口。