Как устранить проблемы с локальной :: lib после обновления системы / Perl? - PullRequest
0 голосов
/ 08 июля 2011

наш системный администратор недавно обновил мою ОС и Perl (до 5.12.3). когда я загружаю переменные окружения local :: lib, кажется, что он нарушает все, что зависит от xs:

demianshell~> perl -e 'use Storable; store({a=>1}, 'test')'
demianshell~> eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)
demianshell~> perl -e 'use Storable; store({a=>1}, 'test')'
Assertion ((svtype)((_svi)->sv_flags & 0xff)) >= SVt_RV failed: file "Storable.xs", line 3753 at blib/lib/Storable.pm (autosplit into blib/lib/auto/Storable/_store.al) line 263, at -e line 1

это легко исправить?

1 Ответ

6 голосов
/ 08 июля 2011

Если вы говорите, что ваш единственный Perl был обновлен не с Perl 5.12. *, А с бинарными компонентами ваших local::lib установок, то, извините, нет, кроме этого нет простого решения.Перестройка модулей local::lib на ваш новый Perl.Компоненты Perl XS просто не жизнеспособны в основных версиях Perl.

Вот почему часто хорошей идеей является не доверять ни одному системному Perl, поскольку он находится вне вашего контроля.Это всегда хороший план - использовать ваши собственные установки Perl, чтобы вы могли контролировать это либо с помощью App::perlbrew, либо просто с помощью отдельной установки Perl где-нибудь.

...