Назад | Перейти на главную страницу

FreeBSD как пересобрать все порты p5- * Perl 5

В системе FreeBSD инструкции говорят: перестроить все порты 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. Как мне узнать, какие порты Perl 5 я установил? И восстановить их все?

Как правило, вы можете ознакомиться с содержанием /usr/ports/UPDATING файл о том, как выполнять нетривиальные обновления. Обычно он предоставляет решения для пользователей, использующих пакеты portupgrade, portmaster или двоичные пакеты pkgng.

Вот инструкции из записи 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/portupgrade порт, а третий - для систем, использующих двоичные пакеты pkgng.

Боюсь, что если вы хотите избежать установки диспетчера портов / вспомогательного инструмента, у вас будет более сложная работа, потому что вам придется вручную пройти каждый порт Perl 5 и запустить make deinstall && make reinstall.

Пытаться portupgrade -f /var/db/pkg/p5*. Это восстановит все ваши установленные p5* порты.

portupgrade не является частью базовой системы. Вы можете найти этот порт в ports-mgmt/portupgrade.