Помогите разобраться.
У меня FreeBSD 4.8. Пытаюсь из портов установить p5-Mail-SpamAssassin.
Делаю make, пишет следующее:
===> p5-Mail-SpamAssassin-3.0.1_2 Needs perl 5.6.1 or higher, install lang/perl5.8 and try again.
Исходя из этого, устанавливаю из портов perl5.8 (make; make install).
Пытаюсь снова установить p5-Mail-SpamAssassin, пишет туже фигню.В чём здесь я ошибся?
Спасибо.
>Помогите разобраться.
>У меня FreeBSD 4.8. Пытаюсь из портов установить p5-Mail-SpamAssassin.
>Делаю make, пишет следующее:
>===> p5-Mail-SpamAssassin-3.0.1_2 Needs perl 5.6.1 or higher, install lang/perl5.8 and try again.
>Исходя из этого, устанавливаю из портов perl5.8 (make; make install).
>Пытаюсь снова установить p5-Mail-SpamAssassin, пишет туже фигню.
>
>В чём здесь я ошибся?в том что не читал что было выдано НА ЭКРАН при установке perl5.8
после make install:выполни:
# whereis perl
# ls -la /usr/bin/perl*
# ls -la /usr/local/bin/perl*теперь то что нужно было сделать:
# use.perl port
теперь снова верхние команды
Все, можешь теперь жить дальше с perl который у тебя поставлен из портов
и системный переопределен на него.PS. Вот только придется пересобрать перловые модули установленные из
портов до установки perl5.8>Спасибо.
Спасибо!Дурак, не прочитал.
Хотя теперь следующая ошибка:
Dependency warning: used OpenSSL version contains known vulnerabilities
Please update or define either WITH_OPENSSL_BASE or WITH_OPENSSL_PORT
*** Error code 1И ещё вопрос: Какие именно модули надо пересобрать? Может ошибка из-за этого и появилась?
Огромное спасибо!
>Спасибо!
>
>Дурак, не прочитал.
>
>Хотя теперь следующая ошибка:
>Dependency warning: used OpenSSL version contains known vulnerabilities
>Please update or define either WITH_OPENSSL_BASE or WITH_OPENSSL_PORT
>*** Error code 1
>
>И ещё вопрос: Какие именно модули надо пересобрать? Может ошибка из-за этого
>и появилась?что непонятного в сообщении?
Зависимое сообщение: используемая версия OpenSSL содержит известные
дыры. Пжласта освежите версию или используйте ключи для сборки:
WITH_OPENSSL_BASE=yes или WITH_OPENSSL_PORT=yesЧто тут непонятного:
OpenSSL и OpenSSH идут как часть системы, НО, более свежие версии
есть в портах: openssh-portable и opensslДалее на выбор, можно использовать любой ключ с make:
make WITH_OPENSSL_BASE=yes
или
make WITH_OPENSSL_PORT=yesбудет использоваться OPENSSL системный или установлен и использован из портов.
Или можно сделать так: используя portupgrade обновить порт OpenSSL и его
зависимости затем установить его на ЗАМЕНУ системному:cd /usr/ports/security/openssl
make WITH_OPENSSL_BASE=yes && make install - установит более свежий из
проапгрейденных портов и зависимостей после portupgrade (тоже ставится
из портов, ссылки на описание по использованию portupgrade я недавно
кому-то отписывал)дальше можно смело продолжать ставить что хочется.
PS. Если OpenSSL и OpenSSH были установлены их портов ПОВЕРХ системных,
то при апгрейде системы на последующие релизы, сборку системных можно
отменить через /etc/make.conf:NO_OPENSSH=true
NO_OPENSSL=trueНо при этом имеет смысл посмотреть какие версии на данный момент
установлены поверх системных и какие в системе после апгрейда через cvsupPPS. Есть масса приложений которые используют динамические библиотеки
OpenSSL, их нужно пересобрать, хотя можно проверить - будут ли они
работать с нужной, если нет - тогда уж пересобрать.>Огромное спасибо!
Спасибо!Всё установил, вроде работет всё.
Но как-то коряво. Ругается в логах на какие-то старые пёрловские файлы и т.п.Но, всё равно, большое спасибо!
>Всё установил, вроде работет всё.
>Но как-то коряво. Ругается в логах на какие-то старые пёрловские файлы и
>т.п.Надо обновить все приложения, которые зависят от Perl.
Это по-моему было написано недавно в /usr/ports/UPDATING.
Приводилась команда, которая (одна) позволяет всё сделать.http://freebsd.munk.nu/archives/160-Upgrading-Perl-On-FreeBS...
Это отличный ресурс по этому поводу!
Советую прочитать вдоль и поперёк, там всё более чем доступно объясняется :-)
(там немного, не надо заранее бояться, если что %) )
Кое-что из той статьи:pkg_info -R perl-5.005 |tail +4; \
find /usr/local/lib/perl5/site_perl/5.005 -type f -print0 \
| xargs -0 pkg_which -fv | sed -e '/: ?/d' -e 's/.*: //'|sort -uвыдаст список того, что надо обновить
(слэши вместе с переводами строк надо убрать!..)
portupgrade -f `(pkg_info -R perl-5.005 |tail +4; \
find /usr/local/lib/perl5/site_perl/5.005 -type f -print0 \
| xargs -0 pkg_which -fv | sed -e '/: ?/d' -e 's/.*: //')|sort -u`а соответственно вот это обновит всё необходимое
(необходимо наличие portupgrade)Если у тебя системный perl другой версии, то подставь её в команду find в этой конструкции.
>Если у тебя системный perl другой версии, то подставь её в команду
>find в этой конструкции.Ой, наколбасил я ошибок =)
Ну и так понятно, что не только (и не столько) в find надо подставить версию =)