Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
perl 5.28编译为二进制时出现perlcc编译错误_Perl - Fatal编程技术网

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安装
  • 或考虑使用一个较旧的Perl版本。 <>或考虑使用Perl,Perl叉由PerLCC维护者ReNi Currim.(当然,使用叉子可能会破坏其他东西…)
重现问题需要
use Socket;
行吗?@Corion是的,我在使用模块时遇到问题。请发帖并说明问题(仅?)使用模块时发生。另外,
Socket.pm
是否是唯一有问题的模块,或者添加
use strict;
时是否也会发生同样的问题?此外,您是否真的像粘贴的错误消息所说的那样在
第26行
中出现错误?如果没有,请向我们展示您正在运行的真实代码。@Corion更新了帖子。