URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 51422
[ Назад ]

Исходное сообщение
"Не могу установить программу из портов :(("

Отправлено RSRuslan , 09-Дек-04 13:50 
Помогите разобраться.
У меня 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, пишет туже фигню.

В чём здесь я ошибся?
Спасибо.


Содержание

Сообщения в этом обсуждении
"Не могу установить программу из портов :(("
Отправлено lavr , 09-Дек-04 14:22 
>Помогите разобраться.
>У меня 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

>Спасибо.


"Не могу установить программу из портов :(("
Отправлено RSRuslan , 09-Дек-04 14:41 
Спасибо!

Дурак, не прочитал.

Хотя теперь следующая ошибка:
Dependency warning: used OpenSSL version contains known vulnerabilities
Please update or define either WITH_OPENSSL_BASE or WITH_OPENSSL_PORT
*** Error code 1

И ещё вопрос: Какие именно модули надо пересобрать? Может ошибка из-за этого и появилась?

Огромное спасибо!


"Не могу установить программу из портов :(("
Отправлено lavr , 09-Дек-04 15:02 
>Спасибо!
>
>Дурак, не прочитал.
>
>Хотя теперь следующая ошибка:
>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

Но при этом имеет смысл посмотреть какие версии на данный момент
установлены поверх системных и какие в системе после апгрейда через cvsup

PPS. Есть масса приложений которые используют динамические библиотеки
OpenSSL, их нужно пересобрать, хотя можно проверить - будут ли они
работать с нужной, если нет - тогда уж пересобрать.

>Огромное спасибо!


"Не могу установить программу из портов :(("
Отправлено RSRuslan , 09-Дек-04 16:37 
Спасибо!

Всё установил, вроде работет всё.
Но как-то коряво. Ругается в логах на какие-то старые пёрловские файлы и т.п.

Но, всё равно, большое спасибо!


"Не могу установить программу из портов :(("
Отправлено Danil , 09-Дек-04 18:30 
>Всё установил, вроде работет всё.
>Но как-то коряво. Ругается в логах на какие-то старые пёрловские файлы и
>т.п.

Надо обновить все приложения, которые зависят от 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 в этой конструкции.


"Не могу установить программу из портов :(("
Отправлено Danil , 09-Дек-04 18:35 
>Если у тебя системный perl другой версии, то подставь её в команду
>find в этой конструкции.

Ой, наколбасил я ошибок =)
Ну и так понятно, что не только (и не столько) в find надо подставить версию =)