2012-07-08 11 views
6

私が間違っている場合は私を修正しますが、XSとDynaloaderベースのモジュールはC/C++共有オブジェクト(.so)を使用し、PP(Pure Perl)ではないモジュールです。XSモジュールを手動でインストールするには?

Web接続性(Solaris 10)がなく、たとえばCrypt::OpenSSL::AES(XSベースのモジュール)をインストールし、AES.pmファイルを@INCの関連するパスにコピーするマシンがあるとします。私のシステムはlibsslがインストールされていないので、何もしないでください。

私の第二の最も重要な質問は、私がCPANを持っていないときに、どのようにそのようなモジュールをインストールするのですか? 私のアプローチは次のとおりです。

  1. まず、私のプラットフォーム用のlibsslを取得し、それをコンパイルしますが、perlはそれを見つけることができるようにどこでその破片オブジェクトファイルを置く必要がありますか?
  2. libsslをインストールしてコンパイルしてどこに置いたら、AES.pmを@INCの関連するパスにコピーするだけで十分ですか、それとも設定する必要がありますか?あなたがrootアクセスを持っていない場合
+0

'Crypt :: OpenSSL :: AES'をコンパイルし、libssl inorderにリンクする必要があります。 1. libsslをダウンロードしてコンパイルしてインストールします 2. Crypt :: OpenSSL :: AESをダウンロードしてコンパイルしてインストールします – chansen

+0

IIRC標準インストールのsolarisはccや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 
    

    下のREADMEファイルの手順に従います。

が配布tarボールをダウンロードしインストールするには正しく構築し、テストし、インストールしてください。

6

CPAN自体は、基本的なperlインストールの一部です。いつでも利用できるようになります。

あなたは、少なくとも

$ cpan . 
を実行し、それuntarし、ターゲットマシン上に置く、CPANのWebサイトからtarballをつかむことができ、インターネットに話すとモジュールを取得するために cpanシェルを使用できない場合

からアンパックされたディレクトリ。これにより、その配布用のCPANインストーラが実行されます。もちろん、欠落している依存関係が見つかった場合は、同じ手法を使用して再帰的にそれらを取得する必要があります。

関連する問題