2017-04-20 74 views
1

我想将Unix Bench安装到iMX6 Yocto中。 我成功交叉编译Unix Bench源代码。 当我运行它,得到的错误是这样的:如何交叉编译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 Bench运行环境是Yocto poky 1.6.2。交叉编译主机是Ubuntu 14. – Jiu

+0

您可以尝试使用“智能”程序包管理器检查Perl/Perl模块包,如果没有,您需要编译它。 – Alex

回答

3

OpenEmbedded构建系统积极地将默认的Perl软件包分割成最小化目标系统大小的小模块(当你不需要所有核心Perl模块时,你就不需要全部安装),所以安装'perl'包与Debian或其他标准发行版中安装'perl'软件包不同。您可以通过opkg files perl命令(如果您使用的是ipk软件包)查看通过'perl'安装的内容。

因此,您需要安装构建Perl时已经构建的其他包。他们有非常简单的命名方案perl-module-*,所以对于您的包将是perl-module-posix,perl-module-time-hires,perl-module-io-handleperl-module-findbin。当然,他们也可能有一些依赖关系,所以最好为您的程序制定适当的配方并适当地指定RDEPENDS