ocehb: (Default)
[personal profile] ocehb
После апгрейда перла с версии на версию возникает проблема с xs модулями,
не входящими в поставку из-за изменения abi, и они требуют перекомпиляции.
Например, при апдейте Fedora19 -> Fedora20 перл поменялся с 5.16.3 на 5.18.1.


Если не использовались пакеты модулей из репозитория, а инсталлировались
напрямую из cpan, то необходимо найти все xs модули, и перекомпилировать их.

Для упрощения процедуры, небольшой скрипт:


# grep -Ern "(bootstrap|XSLoader)" /usr/local/{share,lib}/perl5 | \
  perl -lne 'm#^/usr/local/(?:share|lib)/perl5/(.+?)\.pm:# && $h{ $1 =~ s#/#::#gr }++;
  END{ print join "\n", keys %h }' | \
  while read mod; do perl -M$mod -e "print \$mod::VERSION"; done
EGIN failed--compilation aborted.
Perl API version v5.16.0 of threads does not match v5.18.0 at /usr/share/perl5/XSLoader.pm line 92.
Compilation failed in require.
BEGIN failed--compilation aborted.
Perl API version v5.16.0 of re::engine::Lua does not match v5.18.0 at /usr/share/perl5/XSLoader.pm line 92.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/re/engine/Lua.pm line 13.
Compilation failed in require.
BEGIN failed--compilation aborted.
Use of uninitialized value $mod::VERSION in print at -e line 1.
Using an array as a reference is deprecated at /usr/local/lib/perl5/Crypt/GOST.pm line 101.
Perl API version v5.16.0 of re::engine::Plugin does not match v5.18.0 at /usr/share/perl5/XSLoader.pm line 92.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/re/engine/Plugin.pm line 14.
Compilation failed in require.
BEGIN failed--compilation aborted.
...


Примерно такой результат, видно, что модули threads, re::engine::Lua
и re::engine::Plugin требуют перекомпиляции. Команда

# cpan -f threads re::engine::Lua re::engine::Plugin

сделает это.

В разных ОС разные места, куда ставятся несистемные модули,
в Fedora это /usr/local/{share,lib}/perl5, в других может быть
другое место, можно посмотреть на perl -V:config_args,
куда указывают -Dsitelib и -Dsitearch.




Date: 2013-12-23 11:01 am (UTC)

Date: 2013-12-23 11:17 am (UTC)
From: [identity profile] ico.livejournal.com
Картинка под катом - чье внимание она там привлекает? :)

Date: 2013-12-23 11:52 am (UTC)
From: [identity profile] nponeccop.livejournal.com
CPAN нинужен.

Ъ-решение - использовать системный package manager, т.е. собирать из CPAN системные пакеты. Это умеет, например, CPANPLUS

Profile

ocehb: (Default)
ocehb

January 2021

S M T W T F S
     12
345 6789
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 7th, 2026 05:11 am
Powered by Dreamwidth Studios