尝试运行Perl脚本时,在下面获得错误。该脚本来自以下程序包:https://github.com/aquaskyline/LRSIM
$ perl simulateLinkedReads.pl
Had problems bootstrapping Inline module 'simulateLinkedReads_pl_4e0722f'
Can't locate loadable object for module simulateLinkedReads_pl_4e0722f in @INC (@INC contains: [some long path]/_Inline/lib /home/olavur/perl5/lib/perl5/5.22.1/x86_64-linux-gnu-thread-multi /home/olavur/perl5/lib/perl5/5.22.1 /home/olavur/perl5/lib/perl5/x86_64-linux-gnu-thread-multi /home/olavur/perl5/lib/perl5 /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.22.1 /usr/local/share/perl/5.22.1 /usr/lib/x86_64-linux-gnu/perl5/5.22 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.22 /usr/share/perl/5.22 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .) at /usr/local/share/perl/5.22.1/Inline.pm line 541.
at simulateLinkedReads.pl line 0.
INIT failed--call queue aborted.
因此它正在寻找simulateLinkedReads_pl_4e0722f
“内联”模块,它似乎位于此处:
[some long path]/_Inline/lib/auto/simulateLinkedReads_pl_4e0722f/simulateLinkedReads_pl_4e0722f.inl
@INC路径包含[some long path]/_Inline/lib
。它不应该包含[some long path]/_Inline/lib/auto
吗?
因此,我不知道该错误是由于我的Perl设置,我的LRSIM
软件包的安装/构建还是源于LRSIM
的错误。
我是Perl的完整模型,但我尝试在此处包括有关Perl设置的一些信息(请注意,有两个文件,“ Perl模块”和“ Perl配置”): https://gist.github.com/olavurmortensen/00b2baa61399a5b7c39bca323dbf0233
使用perl -V
获取一些配置信息,使用perl -e 'print qx/find $_ -name "*.pm"/ foreach ( @INC );'
获取已安装的模块。
任何帮助将不胜感激。
编辑:
根据@melpomene的建议,我运行了strace -f -o trace.log perl LRSIM/simulateLinkedReads.pl
并将跟踪信息上传到这里:
https://gist.github.com/olavurmortensen/eca66135486899beccf8610667241451
编辑:
更新的跟踪,因为它不完整: https://gist.github.com/olavurmortensen/eca66135486899beccf8610667241451
答案 0 :(得分:2)
您的strace
日志make
的第24093行周围有关于Clock skew detected
的内容。也许问题与脚本在(/mnt/fargen/experiments/...
上运行的文件系统有关?
make
依靠准确的时间戳来确定哪些文件需要更新并计划其操作。如果时间戳记错误,则文件可能构建不正确或根本不构建。
根本涉及make
的原因是,Inline::C
在后台提取了嵌入式C代码并为其创建了一个临时的Perl模块,其中包括一个XS文件Makefile.PL
。 ,以及整个机械。然后,它将调用perl Makefile.PL && make && make install
,后者应创建一个.so
文件并将其复制到perl可以加载的位置(此.so
文件是 loadable对象在错误消息中提到)。