perl 5.28编译为二进制时出现perlcc编译错误
我在自定义路径perl 5.28编译为二进制时出现perlcc编译错误,perl,Perl,我在自定义路径(/usr/local/perl528)中使用以下选项从源代码编译perl 5.28: config_args='-des -Dprefix=/usr/local/perl528' 然后在perl528中编译了B:CC,并使用以下代码创建了一个hello.pl: #!/usr/local/perl528/bin/perl use Socket; print "Hello world"; panic: corrupt saved stack index -1414812757
(/usr/local/perl528)
中使用以下选项从源代码编译perl 5.28:
config_args='-des -Dprefix=/usr/local/perl528'
然后在perl528中编译了B:CC,并使用以下代码创建了一个hello.pl
:
#!/usr/local/perl528/bin/perl
use Socket;
print "Hello world";
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
下一步:
/usr/local/perl528/perlcc-o hello.pl
执行./hello之后,我得到以下代码:
#!/usr/local/perl528/bin/perl
use Socket;
print "Hello world";
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
panic: corrupt saved stack index -1414812757 at (eval 12) line 26.
跟踪/您好:
27738 stat("/usr/local/perl528/lib/5.28.1/x86_64-linux/Socket.pm/auto//.so", 0x9ce0a0) = -1 ENOTDIR (Not a directory)
为什么我会犯这个错误
更新:
- 问题仅在使用模块时发生
使用严格代码>正常,不会导致错误,但其他人会
- 代码和错误是真实的。(是,联机时出错 26而我只有6行代码
谢谢。perlcc工具是一个相当小的实用工具,不再是核心Perl的一部分。对于与Perl内部紧密结合的第三方工具,在使用最新的Perl版本时,您可能会看到一些破坏 查看perlcc文档有助于:
- 版本1.55(最新的稳定版本)只增加了对Perl5.24的支持
- 开发版本1.55_08提到Perl5.27.3,这是Perl5.28的开发版本
- GitHub项目提到了5.28上的测试
- 考虑安装perlcc的开发版本
- 甚至可以直接从GitHub安装
use Socket;
行吗?@Corion是的,我在使用模块时遇到问题。请发帖并说明问题(仅?)使用模块时发生。另外,Socket.pm
是否是唯一有问题的模块,或者添加use strict;
时是否也会发生同样的问题?此外,您是否真的像粘贴的错误消息所说的那样在第26行
中出现错误?如果没有,请向我们展示您正在运行的真实代码。@Corion更新了帖子。