2014-11-11 3 views
0

RHEL 32 비트 OS가 있습니다. libwsman1과 openwsman-perl rpm을 설치하여 펄 스크립트에서 wsman 쿼리를 사용했습니다. 필자는 perl5.8.8과 perl5.14.4의 두 가지 버전의 perl을 설치했습니다. 내 perl 스크립트는 perl5.8.8에서 잘 작동하지만 perl5.14.4를 실행하면 "Segmentation fault (Core dump)"가 발생합니다. 모듈/라이브러리는 perl 버전에서 사용할 수 없습니다. 내 가정 올바른지, 어떻게하면 두 펄 모듈 모두에서 사용할 수있게 할 수 있습니까? perl의 두 가지 버전이있는 리눅스 시스템에서이 문제가 발생합니다. 해당 시스템에 perl5.14.4 만 있으면 제대로 작동합니다. 나는 GDB를 사용하여 코드 덤프 출력이 같은 것입니다 점점 ​​시도 -. 발견 /usr/bin/perl5.14.4...(no 디버깅 심볼에서 읽기 기호) ... 수행다른 펄 버전이 설치된 RPM을 공유하지 않습니다

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