2014-11-11 2 views
0

У меня есть 32-битная ОС RHEL, я установил libwsman1 и openwsman-perl rpm для использования запросов wsman в моем скрипте perl. У меня есть две версии perl: perl5.8.8 и perl5.14.4. Мой скрипт perl отлично работает с perl5.8.8, но дает «Ошибка сегментации (Core dump), когда я выполняю его с perl5.14.4. Мне кажется, что модули/библиотека недоступны для обеих версий perl. Если мое предположение правильно, как я могу сделать его доступным для обоих модулей perl? Я вижу эту проблему в системах linux, где доступны две разные версии perl. Хотя она отлично работает, если у меня есть только perl5.14.4 в этой системе. Я пытался получать код дампа с помощью GDB, выход что-то вроде этого. - Чтение символов из /usr/bin/perl5.14.4...(no отладочных символов, найденных) ... сделаноРазличные perl-версии, не делящие установленные rpms

warning: .dynamic section for "/lib/libc.so.6" is not at the expected address 

warning: difference appears to be caused by prelink, adjusting expectations 

warning: .dynamic section for "/usr/lib/libgssapi_krb5.so.2" is not at the expected address 

warning: difference appears to be caused by prelink, adjusting expectations 

warning: .dynamic section for "/lib/libcrypto.so.6" is not at the expected address 

warning: difference appears to be caused by prelink, adjusting expectations 

warning: .dynamic section for "/usr/lib/libz.so.1" is not at the expected address 

warning: difference appears to be caused by prelink, adjusting expectations 
Reading symbols from /lib/libnsl.so.1...(no debugging symbols found)...done. 
Loaded symbols for /lib/libnsl.so.1 
Reading symbols from /lib/libdl.so.2...(no debugging symbols found)...done. 
. 
. 
. 
. 
Loaded symbols for /lib/libkeyutils.so.1 
Reading symbols from /lib/libresolv.so.2...(no debugging symbols found)...done. 
Loaded symbols for /lib/libresolv.so.2 
Reading symbols from /lib/libselinux.so.1...(no debugging symbols found)...done. 
Loaded symbols for /lib/libselinux.so.1 
Reading symbols from /lib/libsepol.so.1...(no debugging symbols found)...done. 
Loaded symbols for /lib/libsepol.so.1 
Core was generated by `perl5.14.4 openwsman_client_FAN.pl'. 
Program terminated with signal 11, Segmentation fault. 
#0 0x00000000 in ??() 

Любой помощь глубоко оценена.

Спасибо ...

+0

http://perlbrew.pl – choroba

ответ

2

Различные версии Perl не могут использовать библиотеки XS. Если ваш поставщик не предоставляет обе версии Perl с библиотеками для них обоих, вы должны сами их скомпилировать. cpan должен выполнить тяжелую работу для вас.

perlbrew может облегчить вам жизнь, если вам не нравится играть с переменными окружения и конфигурациями cpan все время.

+0

Спасибо .. есть способ, которым я могу построить эти библиотеки, которые могут работать с любой версией perl. – user1929570

+0

@ user1929570: Нет, это невозможно для XS-библиотек. – choroba

Смежные вопросы