我正在尝试将Unix Bench安装到iMX6 Yocto中。 我成功交叉编译了Unix Bench源代码。 当我运行它时,得到这样的错误:
root@imx6qsabresd:/home/UnixBench# ./Run
Can't locate POSIX.pm in @INC
看起来Perl模块丢失了。 那么如何将这些依赖模块安装到Yocto中呢?
use POSIX qw(strftime);
use Time::HiRes;
use IO::Handle;
use FindBin;
BTW,有没有没有Perl的Unix Bench版本?
答案 0 :(得分:3)
OpenEmbedded构建系统积极地将默认Perl软件包拆分为最小化目标系统大小的小模块(当你不需要所有核心Perl模块时,你只是不安装它们),所以要安装'perl'软件包在Debian或其他一些标准发行版中安装'perl'包是不一样的。您可以通过opkg files perl
命令查看使用'perl'安装的内容(当然,如果您使用的是ipk软件包)。
所以你需要的是安装在构建Perl时已经构建的其他软件包。它们的命名方案非常简单perl-module-*
,因此对于您的包perl-module-posix
,perl-module-time-hires
,perl-module-io-handle
和perl-module-findbin
。当然,他们也可以有一些依赖关系,所以最好为你的程序制作一个合适的方法并适当地指定RDEPENDS
。