Аргумент “perl_version” не является числовым в числовой GE (> =) в (оценка 534) строка 1

Начиная с последнего обновления пакета все мои серверы Ubuntu 14.04.1 посылают мне электронные письма с Кроном, предупреждающим - предмет

Тест крона-e/usr/sbin/amavisd-new-cronjob &&/usr/sbin/amavisd-new-cronjob sa-синхронизация

с содержимым тела

Argument "perl_version" isn't numeric in numeric ge (>=) at (eval 530) line 1.
Argument "perl_version" isn't numeric in numeric ge (>=) at (eval 1023) line 1.
Argument "perl_version" isn't numeric in numeric ge (>=) at (eval 532) line 1.
Argument "perl_version" isn't numeric in numeric ge (>=) at (eval 1025) line 1.

Я должен волноваться об этом и как я могу решить его? Или я могу только ожидать обновления Amavis?

Спасибо.

4
задан 29 November 2014 в 01:41

3 ответа

В комментариях @cgross отвечают, что похоже, что я не единственный, кого не помог обновлению SpamAssassin к 3.4.0

, Таким образом, я создам свой собственный ответ из того, что я сделал.

<час>

Загрузка патчи с

wget "http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm?r1=1642207&r2=1642206&pathrev=1642207&view=patch" -O parser.pm.patch
wget "http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm?r1=1642207&r2=1642206&pathrev=1642207&view=patch" -O conf.pm.patch

Переключатель, чтобы базироваться и исправить файлы

su
patch /usr/share/perl5/Mail/SpamAssassin/Conf/Parser.pm < parser.pm.patch
patch /usr/share/perl5/Mail/SpamAssassin/Conf.pm < conf.pm.patch
4
ответ дан 17 November 2019 в 04:06

Для тех, которые используют sa-learn: Переключитесь на более новую версию Почты-SpamAssassin (например, 3.4.0). Если Вы установили Почту:: SpamAssassin с помощью CPAN можно обновить его как это:

cpan upgrade Mail::SpamAssassin

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

# Store the version for later use
my $mm_version = $ExtUtils::MakeMaker::VERSION;

# avoid stupid 'Argument "6.30_01" isn't numeric in numeric ge (>=)' warnings;
# strip off the beta subversion noise that causes the trouble.
$mm_version =~ s/_\S+$//;      # "6.30_01" => "6.30"

if ($mm_version+0 < 5.45) {
  die "SpamAssassin Makefile.PL requires at least ExtUtils::MakeMaker v5.45";
}
2
ответ дан 17 November 2019 в 04:06

Это - предупреждение, не фатальная ошибка. Это может быть безопасно проигнорировано. Это происходит из-за недавнего обновления правила с помощью условного выражения SA, которое было добавлено для транкинга, но не выпущено все же.

ответ Germar решит проблему, но не может быть приемлемым для тех, кто хочет остаться с чистым кодом дистрибутива.

я не знаю, как быстро дистрибутивы включат изменения SA: https://svn.apache.org/viewvc? view=revision& revision=1642207

рассматриваемое правило было отключено в песочнице правила, оно (надо надеяться), выйдет в обновлениях сегодня вечером (2014-11-30), и это предупреждение должно тогда остановиться.

1
ответ дан 17 November 2019 в 04:06

Другие вопросы по тегам:

Похожие вопросы: