[英]How can Install multiple Perl versions without them tripping over each other's XS modules?
[英]How to manually install XS modules?
如果我錯了,請糾正我,但基於XS和Dynaloader的模塊是那些使用C / C ++共享對象(.so)而不是PP(Pure Perl)的模塊?
現在假設我有一台機器,它沒有任何網絡連接(Solaris 10),我想要安裝Crypt::OpenSSL::AES
(基於XS的模塊),將AES.pm
文件復制到相關的@INC中的路徑不會有任何好處,因為我的系統沒有安裝libssl
。
我的第二個也是最重要的問題是,當我沒有CPAN時如何安裝這些模塊? 我的方法是:
libssl
,編譯它,但是我應該在哪里放置該分片對象文件以便perl可以找到它? AES.pm
復制到AES.pm
中的相關路徑,或者我是否需要配置/制作它? CPAN本身是基本perl安裝的一部分。 它將永遠可用。
如果你不能使用cpan
shell與互聯網交談並獲取模塊,你至少可以從CPAN網站抓取tarball,將它放在目標機器上,解壓縮,然后運行
$ cpan .
從解壓縮目錄中。 這將運行該分發的CPAN安裝程序。 當然,如果它找到缺少的依賴項,你將不得不使用相同的技術遞歸地獲取它們。
如果您沒有root訪問權限,我會安裝在${HOME}/lib
。 只需確保鏈接器可以找到它,或者目錄應該在LD_LIBRARY_PATH
環境變量中,或者更好地將EU :: MM指向庫和包含文件 。
不,該模塊還有一個必須編譯的C部分。
安裝
下載分發tarball: http : //search.cpan.org/CPAN/authors/id/T/TT/TTAR/Crypt-OpenSSL-AES-0.02.tar.gz
然后按照INSTALLATION下的README文件中的步驟操作
perl Makefile.PL INC="-I $HOME/include" LIBS="-L $HOME/lib"
make
make test
make install
這將確保模塊正確構建,測試和安裝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.