В системе 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
.