7

私が間違っている場合は訂正してください。ただし、XS および Dynaloader ベースのモジュールは、C/C++ 共有オブジェクト (.so) を使用するモジュールであり、PP (Pure Perl) ではありませんか?

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

私の 2 番目の最も重要な質問は、CPAN を持っていない場合にそのようなモジュールをどのようにインストールすればよいかということです。私のアプローチは次のとおりです。

  1. 最初libsslに自分のプラットフォーム用に入手してコンパイルしますが、perl が見つけられるように、そのシャード オブジェクト ファイルをどこに配置すればよいでしょうか?
  2. libsslをインストールしてコンパイルし、あるべき場所に配置したらAES.pm、@INCの関連するパスにコピーするだけで十分ですか、それとも構成/作成する必要がありますか?
4

2 に答える 2

7

CPAN 自体は、ベースの perl インストールの一部です。いつでも利用できます。

シェルを使用cpanしてインターネットと通信し、モジュールを取得できない場合は、少なくとも CPAN Web サイトから tarball を取得し、ターゲット マシンに配置して展開し、実行することができます。

$ cpan .

解凍されたディレクトリ内から。これにより、そのディストリビューションの CPAN インストーラーが実行されます。もちろん、不足している依存関係が見つかった場合は、同じ手法を使用して自分で再帰的に取得する必要があります。

于 2012-07-08T18:36:45.673 に答える
6
  1. ルート アクセス権がない場合は、にインストールし${HOME}/libます。リンカがそれを見つけられることを確認してください。ディレクトリはLD_LIBRARY_PATH環境変数にある必要があります。または、EU::MM をライブラリとインクルード ファイルに指定することをお勧めします。

  2. いいえ、モジュールにはコンパイルする必要がある 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

これにより、モジュールが正しくビルド、テスト、およびインストールされていることが確認されます。

于 2012-07-08T17:58:27.370 に答える