Сбой Strawberry CPAN после установки Camelbox - PullRequest
1 голос
/ 10 мая 2011

CPAN моей инсталляции Strawberry Perl раньше работал нормально. Некоторое время назад я установил Camelbox Perl, чтобы получить его библиотеки GTK. Я исправил пути, чтобы не оставлять следов Camelbox, и добавил его библиотеки PERL5LIB. Это решило мои проблемы с GTK-on-Windows-7.

Сегодня мне пришлось снова использовать CPAN, но он неожиданно падает. Это клубничный CPAN, который работает.

C:\Users\tim>cpan -v
C:\strawberry\perl\bin/cpan script version 1.9, CPAN.pm version 1.9402

Когда я пытаюсь get что-либо - включая уже установленные модули - CPAN успешно удаляет временный каталог и внезапно вылетает.

cpan> get List::Object
Running get for module 'List::Object'
Checksum for C:\strawberry\cpan\sources\authors\id\M\MS\MSHILTONJ\List-Object-0.01.tar.gz ok
Scanning cache C:\strawberry\cpan\build for sizes
............................................................................DONE

DEL(1/1): C:\strawberry\cpan\build\tmp-16240

C:\Users\tim>

Я получаю Windows перестает работать perl.exe всплывающее окно.

Я вполне уверен, что это вызвано Camelbox. Что я могу сделать, чтобы исправить или отладить это? Я не нашел переключателей отладки CPAN.

Как предположил daxim, я запустил cpan в отладчике perl. Вот вывод в виде RAR (127 КБ) и открытого текста (10,8 МБ) .

1 Ответ

1 голос
/ 10 мая 2011

Я исправил PATH, чтобы не оставлять следов в Camelbox, и добавил его библиотеки PERL5LIB [в установку Strawberry]

Ваша проблема вызвана тем, что проблема связана с объектом C /,Смешивать библиотеки XS для разных версий Perl - плохая идея.

Запустите клиент CPAN под отладчиком Perl, включите t race, c и продолжайте до тех пор, пока не произойдет сбой.Библиотека Perl, которая была загружена последней, намекает на неисправную библиотеку ссылок.У меня есть подозрения на чтение строки.


Сбой происходит в строке 63 Compress / Raw / Bzip2.pm, которая равна XSLoader::load('Compress::Raw::Bzip2', $XS_VERSION);.Это попытается загрузить библиотеку XS Bzip2, точное имя которой ускользает от меня, потому что у меня нет установки Strawberry для проверки.Переустановите эту библиотеку, не вызывая клиент CPAN, или попробуйте найти все фрагменты и удалить их.

...