2012-04-14 7 views
1

Linux(Red Hat)とUnix(Solaris)の両方にデプロイするアプリケーションがあります。私のアプリケーションは、組み込みのPerlを使用してインストールし、その後、独自のローカルPerl(新規ユーザー)を作成します。C依存Perlライブラリのデプロイ

Curses::UIを展開する最良の方法は何ですか?現在、ローカルのperl libフォルダに他のモジュールをコピーしてインストールしますが、これらはCライブラリ(.so共有オブジェクト、XSなど)に依存しない純粋なPerlモジュールです。

また、プラットフォームごとにlibncursesをコンパイルする必要がありますか?

注:コンピュータにはネットワーク接続がないため、CPANモジュールは使用できません。

+0

ネットワークはありません。問題はありません。 [minicpan](http://p3rl.org/minicpan)のコピーを作成し、それをターゲットに運びます。 CPANクライアントをネットワークの代わりに[ローカルファイルシステムから読み込む]に設定します(http://p3rl.org/CPAN#The-urllist-parameter-has-CD-ROM-support)。 – daxim

答えて

2

CPANからCurses :: UIなどのモジュールを導入するには、CPANクライアント(CPAN.pm、CPANPLUS)を使用する必要があります。通常、XSモジュールをコンパイルするには開発用ライブラリが必要です。 Curses :: UIでは、Ubuntuパッケージはlibncurses-devと呼ばれています。他のLinuxディストリビューションでは、同じ名前または類似の名前のncurses develパッケージがある可能性があります。

あなたは地元のPerlライブラリを持っていると言いました。ローカルlibを持つための非常に良い方法は同じ名前のモジュールです - local::lib。そのドキュメントでは、CPANクライアントを使ってモジュールをローカル:: libに簡単にインストールする方法を説明します。

+0

私はCPAN :: Miniを使ってCurses :: UIとその依存関係のみからなるローカルリポジトリを構築できますか? – snoofkin

1

構築が必要なCPANモジュールについては、cartonを参照してください。これには、すべてのcpanモジュールをまとめてバンドルするバンドルコマンドがあります。これにより、ネットワークを介さずにターゲットマシンにインストール/ビルドすることができます。

libcursesに関しては、まだインストールされていない場合は、ターゲットマシン上にカスタムインストーラを構築する方向に傾くでしょう。そうするか、そのライブラリが見つからない限り、あなたのソフトウェアをインストールすることを拒否してください。残念ながら、私はカスタムビルドスクリプトを実行する以外に、依存するCライブラリをローカルにビルドする良い方法については知らない。

関連する問題