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

Исходное сообщение
"Проблемы с perl при инсталяции программ с портов"

Отправлено dizen , 24-Сен-11 12:02 
При попытке инсталировать SpamAssassin или amavisd-new с портов выдает ошибку:
p5-Mail-SpamAssassin-3.3.2_2 requires Perl 5.8.8 or later, install lang/perl5.8, lang/perl5.10, lang/perl5.12 or lang/perl5.14 and try again.

Уже инсталировал perl5.8.9, perl5.10.1, perl5.12.4 но проблемма остается.
Система: FreeBSD 7.4-RELEASE-p1


Содержание

Сообщения в этом обсуждении
"Проблемы с perl при инсталяции программ с портов"
Отправлено lavr , 24-Сен-11 13:01 
> При попытке инсталировать SpamAssassin или amavisd-new с портов выдает ошибку:
> p5-Mail-SpamAssassin-3.3.2_2 requires Perl 5.8.8 or later, install lang/perl5.8, lang/perl5.10,
> lang/perl5.12 or lang/perl5.14 and try again.
> Уже инсталировал perl5.8.9, perl5.10.1, perl5.12.4 но проблемма остается.
> Система: FreeBSD 7.4-RELEASE-p1

вероятно неверно производили апгрейд портов и пакетов, нарушили целостность и
теперь у вас каша в системе касательно портов-пакетов.

нужно было посмотреть какой perl у вас был установлен изначально, после чего
использовать portupgrade или portmaster для апгрейда портов.
Сейчас нужно посмотреть сколько и какие версии perl в системе, посмотреть
зависимости - что от каких версий зависит, затем удалить все версии perl, ошметки
от них, установить один 5.10 или 5.12, затем все необходимые модули которые
нужны вам для ранее установленных apps на perl и все.
В текущих портах в качестве default perl5.12, но можно использовать и perl5.10
и perl5.8 (если он у вас был 5.8.9, главное > чем 5.8.8)
Если по какой-то причине нужно несколько версий perl'а в системе, следует
использовать переменную USE_PERL5 для сборки Apps, посмотреть можно в:

# less /usr/ports/Mk/bsd.perl.mk

Обычно ПЕРЕД переходом с версии perl на другую, следует прочитать:

# less /usr/ports/UPDATING
и
# man perl-after-upgrade


"Проблемы с perl при инсталяции программ с портов"
Отправлено dizen , 24-Сен-11 20:04 
>[оверквотинг удален]
>  В текущих портах в качестве default perl5.12, но можно использовать и
> perl5.10
> и perl5.8 (если он у вас был 5.8.9, главное > чем 5.8.8)
>  Если по какой-то причине нужно несколько версий perl'а в системе, следует
> использовать переменную USE_PERL5 для сборки Apps, посмотреть можно в:
> # less /usr/ports/Mk/bsd.perl.mk
>  Обычно ПЕРЕД переходом с версии perl на другую, следует прочитать:
> # less /usr/ports/UPDATING
> и
> # man perl-after-upgrade

pkg_info -x perl показал что от него зависят только модули p5-*
Удалил все зависимости:
pkg_delete -x ^p5-
после этого pkg_info -x perl никаких зависимостей не показал.
удалил сам perl.
Установил с портов perl5.12.4

И всеравно при инсталяции SpamAssassin выдает
p5-Mail-SpamAssassin-3.3.2_2 requires Perl 5.8.8 or later, install lang/perl5.8, lang/perl5.10, lang/perl5.12 or lang/perl5.14 and try again.


"Проблемы с perl при инсталяции программ с портов"
Отправлено wiseman , 24-Сен-11 23:52 
>[оверквотинг удален]
>> # man perl-after-upgrade
> pkg_info -x perl показал что от него зависят только модули p5-*
> Удалил все зависимости:
> pkg_delete -x ^p5-
> после этого pkg_info -x perl никаких зависимостей не показал.
> удалил сам perl.
> Установил с портов perl5.12.4
> И всеравно при инсталяции SpamAssassin выдает
> p5-Mail-SpamAssassin-3.3.2_2 requires Perl 5.8.8 or later, install lang/perl5.8, lang/perl5.10,
> lang/perl5.12 or lang/perl5.14 and try again.

выложите на pastbin лог сборки целиком. И еще покажите, что у вас в /etc/make.conf


"Проблемы с perl при инсталяции программ с портов"
Отправлено dizen , 25-Сен-11 01:11 
>[оверквотинг удален]
>> Удалил все зависимости:
>> pkg_delete -x ^p5-
>> после этого pkg_info -x perl никаких зависимостей не показал.
>> удалил сам perl.
>> Установил с портов perl5.12.4
>> И всеравно при инсталяции SpamAssassin выдает
>> p5-Mail-SpamAssassin-3.3.2_2 requires Perl 5.8.8 or later, install lang/perl5.8, lang/perl5.10,
>> lang/perl5.12 or lang/perl5.14 and try again.
> выложите на pastbin лог сборки целиком. И еще покажите, что у вас
> в /etc/make.conf

/etc/make.conf

CFLAGS= -O -pipe
NO_PROFILE=     true
X11BASE=${LOCALBASE}
# added by use.perl 2011-09-24 17:57:57
PERL_VERSION=5.12.4

закоментировал в /usr/ports/mail/p5-Mail-SpamAssassin/Makefile строчку
USE_PERL5_RUN=  5.8.8+
и SpamAssassin заинсталировался


"Проблемы с perl при инсталяции программ с портов"
Отправлено wiseman , 25-Сен-11 02:51 

> закоментировал в /usr/ports/mail/p5-Mail-SpamAssassin/Makefile строчку
> USE_PERL5_RUN=  5.8.8+
> и SpamAssassin заинсталировался

Забавно ) Я бы написал майнтейнеру


"Проблемы с perl при инсталяции программ с портов"
Отправлено lavr , 25-Сен-11 12:29 
>> закоментировал в /usr/ports/mail/p5-Mail-SpamAssassin/Makefile строчку
>> USE_PERL5_RUN=  5.8.8+
>> и SpamAssassin заинсталировался
> Забавно ) Я бы написал майнтейнеру

о чем? о непонимании работы make?

USE_PERL5_RUN=  5.8.8+

означает что для сборки используется perl 5.8.8 и выше.

В остальном - вероятно неверно обновлены порты и возможно не обновлен
/usr/ports/Mk/*
или криво == неверно производится обновление


"Проблемы с perl при инсталяции программ с портов"
Отправлено DeadLoco , 25-Сен-11 19:34 
> Установил с портов perl5.12.4
> И всеравно при инсталяции SpamAssassin выдает

Как уже сказано выше - у вас нарушена целостность базы портов.
Последовательность действий следующая:

  # cd /usr/ports/ports-mgmt/portmaster
  # make install clean
  # portmaster --check-depends
  # portmaster --check-port-dbdir
  # portmaster -s
  # portmaster -y --clean-distfiles


"Проблемы с perl при инсталяции программ с портов"
Отправлено dizen , 25-Сен-11 22:41 
>> Установил с портов perl5.12.4
>> И всеравно при инсталяции SpamAssassin выдает
> Как уже сказано выше - у вас нарушена целостность базы портов.
> Последовательность действий следующая:
>   # cd /usr/ports/ports-mgmt/portmaster
>   # make install clean
>   # portmaster --check-depends
>   # portmaster --check-port-dbdir
>   # portmaster -s
>   # portmaster -y --clean-distfiles

Я все старыми провереными методами делаю, обновляю порти cvsup'ом, никаких утилит для автоматического обновления не использую (были когда-то большие проблемы из-за этого). Хотя наверное пора уже еще раз попробовать portmaster.

А насчет целесности портов, то я их полностю удалил (rm -rf /usr/ports), потом обновил cvsup -g -L 2 /etc/supfile. Но это не помогло.

В /etc/supfile:
default release=cvs tag=RELENG_7_4
src-all
ports-all tag=.

Я понимаю что неправильно коментировать в /usr/ports/mail/p5-Mail-SpamAssassin/Makefile строчку USE_PERL5_RUN=  5.8.8+, но у меня инсталирован 5.12.4 и в /etc/make.conf есть PERL_VERSION=5.12.4, а порт не исталировался.


"Проблемы с perl при инсталяции программ с портов"
Отправлено DeadLoco , 25-Сен-11 23:03 
> А насчет целесности портов, то я их полностю удалил (rm -rf /usr/ports),
> потом обновил cvsup -g -L 2 /etc/supfile. Но это не помогло.

Начнем с того, что порты - это не только дерево портов /usr/ports, но и база портов в /var/db/pkg - именно оттуда берутся актуальные зависимости конкретных установленных портов в зависимости от конкретных опций установки.

Во-вторых, для работы с портами уже давным-давно следует использовать штатный механизм portsnap, а не цвс, который для этих нужд годится еле-еле.

В-третьих, совершенно неправильно и крайне чревато надеяться на принцип четности, и вносить умышленную ошибку, ломая порт, надеясь побороть ошибку неумышленную, из-за неправильно установленных портов.


Сразу предупреждаю, что удалить /var/db/pkg - это будет даже хуже, чем поломать порт. Потому что в системе останется куча мусора, удалить который будет крайне проблематично.