Сбой процессора Strawberry после установки Camelbox

#perl #windows-7 #crash #cpan

#perl #windows-7 #сбой #cpan

Вопрос:

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

Сегодня мне пришлось снова использовать CPAN, но он необъяснимо вылетает. Запускается процессор Strawberry.

 C:Userstim>cpan -v
C:strawberryperlbin/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:strawberrycpansourcesauthorsidMMSMSHILTONJList-Object-0.01.tar.gz ok
Scanning cache C:strawberrycpanbuild for sizes
............................................................................DONE

DEL(1/1): C:strawberrycpanbuildtmp-16240

C:Userstim>
  

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

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

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

Ответ №1:

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

Проблема, возникшая по вашей собственной вине, находится на уровне связывания C / object. Смешивать библиотеки XS для разных версий Perl — плохая идея.

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


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

Комментарии:

1. Спасибо, я попробую это. Я забыл упомянуть, что сбой происходит, даже если я удаляю Camelbox из PERL5LIB, поэтому Strawberry вообще не должен знать об этом.

2. Я добавил вывод трассировки к своему вопросу. ReadLine, похоже, не связан, но я не могу понять, что это.

3. Для справки: в итоге я использовал только (устаревший) Camelbox.