2012-07-08 4 views
6

내가 틀렸다면 정정 해주십시오. 그러나 XS 및 Dynaloader 기반 모듈은 C/C++ 공유 객체 (.so)를 사용하고 PP (Pure Perl)이 아닌 모듈입니다.XS 모듈을 수동으로 설치하는 방법은 무엇입니까?

웹 연결 (Solaris 10)이없고 예를 들어 Crypt::OpenSSL::AES (XS 기반 모듈)을 설치하고 AES.pm 파일을 @INC의 관련 경로에 복사하려는 시스템이 있다고 가정합니다 내 시스템에는 libssl이 설치되어 있지 않으므로 아무 것도하지 못할 것입니다.

두 번째로 중요한 질문은 CPAN이 없을 때 어떻게 그러한 모듈을 설치합니까? 내 접근 방식은 다음과 같습니다

  1. 먼저 컴파일, 내 플랫폼에 대한 libssl를 얻을 수 있지만, 펄이 찾을 수 있도록 어디 그 샤드 오브젝트 파일을 넣어해야합니까?
  2. libssl을 설치하고 컴파일하여 어디에 있어야하는지, 지금은 AES.pm을 @INC의 관련 경로에 복사하기에 충분합니까? 아니면 구성/구성해야합니까? 당신이 루트 액세스 권한이없는 경우
+0

'Crypt :: OpenSSL :: AES'가 libssl inorder에 컴파일되어 링크되어야 제대로 작동합니다. 1. 다운로드 및 컴파일 및 설치의 libssl에게 2를 다운로드하고 컴파일하고'크립트를 설치 :: OpenSSL을 :: AES'는 – chansen

+0

IIRC 표준 당신에게 참조 또는 GCC 또는 다른 C 컴파일러를 제공하지 않습니다 솔라리스의 설치 – beresfordt

답변

6
  1. 나는 ${HOME}/lib에 설치합니다. 링커가 찾을 수 있는지 확인하십시오. 디렉토리가 LD_LIBRARY_PATH 환경 변수이거나 point EU::MM to the library and include files이어야합니다.

  2. 아니요, 모듈에는 컴파일해야 할 C 부분도 있습니다. 이 모듈이 있는지 확인합니다 http://search.cpan.org/CPAN/authors/id/T/TT/TTAR/Crypt-OpenSSL-AES-0.02.tar.gz

    그런 다음 설치

    perl Makefile.PL INC="-I $HOME/include" LIBS="-L $HOME/lib" 
    make 
    make test 
    make install 
    

    에서 리드 미 파일의 단계를 수행하십시오

이 분포 타르볼을 다운로드 설치하려면 올바르게 제작, 테스트 및 설치하십시오.

6

CPAN 자체는 기본 perl 설치의 일부입니다. 항상 사용할 수 있습니다.

당신이 모듈을 인터넷에 이야기를 가져 오도록 cpan 쉘을 사용할 수없는 경우, 최소한의 CPAN 웹 사이트에서 타르볼을 잡아 대상 컴퓨터에 넣을 수 있습니다, 그것은 압축을 풀 경우, 다음 실행

$ cpan . 

에서 압축을 푼 디렉토리 내부입니다. 그러면 해당 배포에 대한 CPAN 설치 프로그램이 실행됩니다. 물론 누락 된 종속성을 발견하면 동일한 기술을 사용하여 재귀 적으로 해당 종속성을 가져와야합니다.

관련 문제