Проблема с rlm_perl после обновления Perl`а

Ответить
vlad
Сообщения: 46
Зарегистрирован: Чт апр 03, 2008 1:51 pm

Проблема с rlm_perl после обновления Perl`а

Сообщение vlad »

Приветствую!
Сегодня, с дуру, обновил из портов Perl до 5.8.9, после чего радиус стал валиться в кору при инициализации.
Все перловые модули перекомпилировал. С чем может быть связано?
Вывод Radiusd -X заканчивается
Module: Loaded perl
perl: module = "/usr/abills/libexec/rlm_perl.pl"
perl: func_authorize = "authorize"
perl: func_authenticate = "authenticate"
perl: func_accounting = "accounting"
perl: func_preacct = "preacct"
perl: func_checksimul = "checksimul"
perl: func_detach = "detach"
perl: func_xlat = "xlat"
perl: func_pre_proxy = "pre_proxy"
perl: func_post_proxy = "post_proxy"
perl: func_post_auth = "post_auth"
perl: perl_flags = "(null)"
perl: func_start_accounting = "(null)"
perl: func_stop_accounting = "(null)"
Ошибка сегментации(core dumped)

Kirill
Сообщения: 9
Зарегистрирован: Вс дек 02, 2007 12:16 pm
Откуда: Kyiv, Ukraine
Контактная информация:

Сообщение Kirill »

Аналогичная проблема.

abbat
Сообщения: 4
Зарегистрирован: Чт июл 03, 2008 1:25 am

Re: Проблема с rlm_perl после обновления Perl`а

Сообщение abbat »

vlad писал(а):Приветствую!
Сегодня, с дуру, обновил из портов Perl до 5.8.9, после чего радиус стал валиться в кору при инициализации.
Все перловые модули перекомпилировал. С чем может быть связано?
Вывод Radiusd -X заканчивается
<...>
Ошибка сегментации(core dumped)
Аналогично, блин :( Рецепт для восстановления работоспособности для FreeBSD:

1. Правим файл /usr/share/examples/cvsup/ports-supfile:

Код: Выделить всё

*default host=cvsup7.ru.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix
ports-all tag=. date=2008.12.27.00.00.00
Здесь ключевым моментом является дата - дата обновления порта для freeradius с версии 2.0.5 на 2.1.3.

2. Выполняем откат портов на нужную дату:

Код: Выделить всё

# csup -g -L 2 /usr/share/examples/cvsup/ports-supfile
3. Удаляем обновленные ранее приложения, которые работают некорректно:

Код: Выделить всё

# pkg_delete -f freeradius*
# pkg_delete -f perl*
(точные имена пакетов можно посмотреть в /var/db/pkg)

4. Ставим приложения из откаченных портов:

Код: Выделить всё

# cd /usr/ports/lang/perl5.8
# make install && make clean
# cd /usr/ports/net/freeradius2
# make install && make clean
5. Обновляем пакеты perl:

Код: Выделить всё

# portupgrade -f p5-*
6. Комментируем дату в файле /usr/share/examples/cvsup/ports-supfile и выполняем процедуру обновления портов до текущего состояния (см. 2).

7. Проверяем какие приложения имеет смысл перекомпилировать:

Код: Выделить всё

# pkg_version -L '=' -v
и пересобираем те, которые нужны, кроме perl и freeradius, которые откатили ранее.

8. Благодарим разработчиков perl и freeradius за потраченное время :)

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

Благодарим разработчиков perl и freeradius за потраченное время
я так думаю что просто и радиус и перл должны быть откомпилены компилятором одной и той же версии и с одинаковыми опциями, поскольку юзают в данном случае общие либы

vlad
Сообщения: 46
Зарегистрирован: Чт апр 03, 2008 1:51 pm

Сообщение vlad »

Пробовал. Не помогло.

sopov
Сообщения: 610
Зарегистрирован: Вс апр 02, 2006 7:13 pm

Сообщение sopov »

Что еще раз доказывает 1 закон сисадмина: Работает - нетрогай!

chtito2
Сообщения: 479
Зарегистрирован: Чт апр 17, 2008 5:26 pm

Сообщение chtito2 »

/usr/ports/UPDATING просто надо читать перед каждым апргейдом.
2009-01-13

Affects: users of lang/perl5.8

Author: skv@FreeBSD.org

Reason:
lang/perl5.8 has been updated to 5.8.9. You should update everything
depending on perl. The easiest way to do that is to use
perl-after-upgrade script supplied with lang/perl5.8. Please see
its manual page for details.
Ну и конечно почитать ченджлог самого Перла, особенно про несовместимые изменения.
who | grep -i blonde | date; cd $HOME; unzip; touch; strip; finger; mount; fsck; more; yes; uptime; umount; sleep 69

abbat
Сообщения: 4
Зарегистрирован: Чт июл 03, 2008 1:25 am

Сообщение abbat »

chtito2 писал(а):/usr/ports/UPDATING просто надо читать перед каждым апргейдом.
Ага, читал, запускал - оно вываливалась с ошибкой (уж сейчас не помню какой).
chtito2 писал(а):Ну и конечно почитать ченджлог самого Перла, особенно про несовместимые изменения.
Прочитал. Покажи где именно есть хотя бы намек на rlm_perl?

P.S. Один фиг вчера сервак убили. Сейчас ставлю заново все. Посмотрим что получится на нулевой системе.

abbat
Сообщения: 4
Зарегистрирован: Чт июл 03, 2008 1:25 am

Сообщение abbat »

ran писал(а):
Благодарим разработчиков perl и freeradius за потраченное время
я так думаю что просто и радиус и перл должны быть откомпилены компилятором одной и той же версии и с одинаковыми опциями, поскольку юзают в данном случае общие либы
Перед тем как написать я их обоих сносил полностью и собирал заново. Похоже, что собака порылась где-то в другом месте.

chtito2
Сообщения: 479
Зарегистрирован: Чт апр 17, 2008 5:26 pm

Re: Проблема с rlm_perl после обновления Perl`а

Сообщение chtito2 »

abbat писал(а): Здесь ключевым моментом является дата - дата обновления порта для freeradius с версии 2.0.5 на 2.1.3.
А у меня без проблем работает 2.1.3 уже больше месяца. С Perl 5.8.8.

Хотел обновиться до Perl 5.8.9, хорошо что вспомнил про эту тему :)
who | grep -i blonde | date; cd $HOME; unzip; touch; strip; finger; mount; fsck; more; yes; uptime; umount; sleep 69

TeMPkms
Сообщения: 7
Зарегистрирован: Пн фев 23, 2009 7:58 am

Сообщение TeMPkms »

А поддежка perl-5.8.9 планируется? или сколько это будет стоить? хочется держать систему в актуальном состоянии.

Ответить