gpt4 book ai didi

c - Perl 无法定位内联 C 模块 : "Had problems bootstrapping Inline module"

转载 作者:太空宇宙 更新时间:2023-11-04 07:46:18 25 4
gpt4 key购买 nike

尝试运行 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“内联”模块,它似乎位于此处:

[一些长路径]/_Inline/lib/auto/simulateLinkedReads_pl_4e0722f/simulateLinkedReads_pl_4e0722f.inl

@INC 路径包含[some long path]/_Inline/lib。它不应该包含[some long path]/_Inline/lib/auto吗?

所以,我不知道错误是来 self 的 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

最佳答案

在您的 strace 日志 make 的第 24093 行附近说了一些关于检测到时钟偏差的事情。也许问题与脚本运行的文件系统有关 (/mnt/fargen/experiments/...)?

make 依靠准确的时间戳来确定哪些文件需要更新并安排其操作。如果时间戳错误,文件可能构建不正确或根本不构建。


之所以涉及 make 是因为在幕后 Inline::C 提取嵌入的 C 代码并为其创建一个临时的 Perl 模块,包括一个 XS 文件、Makefile.PL 和整个机器。然后它调用 perl Makefile.PL && make && make install,它应该创建一个 .so 文件并将它复制到 perl 可以加载它的位置(这个 .so 文件是错误消息中提到的可加载对象

关于c - Perl 无法定位内联 C 模块 : "Had problems bootstrapping Inline module",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56701591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com