2017-04-20 18 views
1

iMX6 YoctoにUnix Benchをインストールしようとしています。 Unixベンチソースコードをクロスコンパイルできました。 私はそれを実行すると、このようなエラーが出る:Perlモジュールをクロスコンパイルする方法

[email protected]:/home/UnixBench# ./Run 
Can't locate POSIX.pm in @INC 

それはモジュールが欠落しているPerlのように見えます。 これらの依存モジュールをYoctoにインストールする方法は?

use POSIX qw(strftime); 
use Time::HiRes; 
use IO::Handle; 
use FindBin; 

ここでPerlなしで実行されるUnix Benchのバージョンはありますか?

+0

あなたはどのようなLinuxシステムを使用していますか? – Alex

+0

@Alex Unixベンチ実行環境はYocto poky 1.6.2です。クロスコンパイルのホストはUbuntu 14です。 – Jiu

+0

Perl/Perlモジュールのパッケージを "スマート"なパッケージマネージャでチェックすることができます。もしそうでなければ、コンパイルする必要があります。 – Alex

答えて

3

OpenEmbeddedビルドシステムは、デフォルトのPerlパッケージをターゲットシステムのサイズを最小限に抑えるように積極的に分割します(すべてのコアPerlモジュールをインストールする必要がない場合は、 Debianやその他の標準的なディストリビューションに 'perl'パッケージをインストールするのと同じではありません。 opkg files perlコマンド(もちろんipkパッケージを使用している場合)を介して 'perl'でインストールされているものを見ることができます。

だから、Perlをビルドするときにすでにビルドされている追加のパッケージをインストールする必要があります。それらは非常に簡単な命名規則perl-module-*を持っていますので、あなたのパッケージはperl-module-posixperl-module-time-hiresperl-module-io-handleおよびperl-module-findbinとなります。もちろん、彼らはまたいくつかの依存関係を持つことができるので、プログラムの適切なレシピをよく作成し、RDEPENDSを適切に指定してください。

関連する問題