birdwatcher (birdwatcher) wrote,
birdwatcher
birdwatcher

Как интересно живут программисты

В связи с хартблидом почитал release notes амазоновского AMI Linux 2014.03 - ну, выглядит разумно, почему бы и нет. Накатил на свой EC2 instance этот релиз поверх предыдущего (2013.09).

Перестало работать абсолютно всё!!! Ни одного целого куска функциональности. Оказывается, новенький Перл. Perl has been updated from 5.10 to 5.16, bringing in many fixes and enhancements my ass.

Во-первых, отвалились все скомпилированные модули сколько их есть. Тыщи штук. В каждом такое:
/usr/local/lib64/perl5/auto/Crypt/Eksblowfish/Eksblowfish.so: undefined symbol: Perl_Istack_sp_ptr
Лечится двойным циклом: запустить все имеющиеся скрипты по очереди и для каждого из них force install каждый отвалившийся модуль по очереди (cpan, видимо, не умеет просто переустановить всё, что у него есть).

Во-вторых, после того, как все скомпилировалось и прошло свои десятки тысяч тестов, выясняется, что юникод перестал просто работать: вся кириллица печатается в виде ÐxÐyÐzÐt, а все вызовы функций падают с сообщением "wide character in input".
Лечится вставлением повсюду мусора в виде
use utf8;
use Encode qw(encode);
binmode(STDOUT, ":utf8");
и заменой f($x) на f(encode('UTF-8', $x)) для всех функций f и всех значений параметров $x.

Такое впечатление, что это какие-то школьники делают.
Subscribe
  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 4 comments