当我运行以下命令从Perl脚本中创建可执行文件时:
pp -o process_target_mode_data Process_Target_Mode_Data.pl
Run Code Online (Sandbox Code Playgroud)
我得到以下错误输出:
Perl lib version (5.12.2) doesn't match executable version (v5.12.0) at /home/Neil/ActivePerl-5.12/lib/Config.pm line 50.
Compilation failed in require at /home/Neil/ActivePerl-5.12/lib/Errno.pm line 8.
BEGIN failed--compilation aborted at /home/Neil/ActivePerl-5.12/lib/Errno.pm line 8.
Compilation failed in require at /home/Neil/ActivePerl-5.12/lib/File/Temp.pm line 148.
BEGIN failed--compilation aborted at /home/Neil/ActivePerl-5.12/lib/File/Temp.pm line 148.
Compilation failed in require at /home/Neil/ActivePerl-5.12/lib/Archive/Zip.pm line 14.
BEGIN failed--compilation aborted at /home/Neil/ActivePerl-5.12/lib/Archive/Zip.pm line 14.
Compilation failed in require at -e line 459.
/home/Neil/ActivePerl-5.12/site/bin/pp: Failed to extract a parl from 'PAR::StrippedPARL::Static' to file 'parleNrP2Xi' at /home/Neil/ActivePerl-5.12/site/lib/PAR/Packer.pm line 1172, <DATA> line 1.
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释发生了什么事以及如何解决这个问题?
请求信息brian d foy:
[bash-3.2] [Neil @ willy] $,该页 /home/Neil/ActivePerl-5.12/site/bin/pp [bash-3.2] [Neil @ willy] $ /home/Neil/ActivePerl-5.12/site/bin/pp -o process_target_mode_data Process_Target_Mode_Data.pl Perl lib版本(5.12.2)与/home/Neil/ActivePerl-5.12/lib/Config.pm第50行的可执行版本(v5.12.0)不匹配。 在/home/Neil/ActivePerl-5.12/lib/Errno.pm的第8行中,需求中的编译失败。 BEGIN失败-在/home/Neil/ActivePerl-5.12/lib/Errno.pm第8行中中止编译。 编译在/home/Neil/ActivePerl-5.12/lib/File/Temp.pm第148行中的require失败。 BEGIN失败-在/home/Neil/ActivePerl-5.12/lib/File/Temp.pm第148行中中止编译。 在/home/Neil/ActivePerl-5.12/lib/Archive/Zip.pm第14行,要求中的编译失败。 BEGIN失败-在/home/Neil/ActivePerl-5.12/lib/Archive/Zip.pm第14行中,编译中止。 编译在-e行459中的require中失败。 /home/Neil/ActivePerl-5.12/site/bin/pp:无法从'PAR :: StrippedPARL :: Static'中提取一个parl到/home/Neil/ActivePerl-5.12/site/lib/PAR中的文件'parludZfldz'中/Packer.pm第1172行,第1行。 [bash-3.2] [Neil @ willy] $ [bash-3.2] [Neil @ willy] $ /home/Neil/ActivePerl-5.12/bin/cpan -l | grep PAR PAR 1.002 PAR :: Dist 0.47 PAR ::重0.12 PAR ::过滤器0.03 PAR :: SetupTemp 1.002 PAR :: SetupProgname 1.002 PAR :: Packer 1.006 PAR :: StrippedPARL :: Dynamic 0.958 PAR :: StrippedPARL :: Static 0.958 PAR :: StrippedPARL :: Base 0.975 PAR :: Filter :: Bytecode undef PAR :: Filter :: Bleach undef PAR :: Filter :: Obfuscate undef PAR :: Filter :: PatchContent undef PAR :: Filter :: PodStrip undef 应用程式::包装程式:: PAR 0.91
Perl lib 版本 (5.12.2) 与可执行版本 (v5.12.0) 不匹配
Perl 安装的某些部分的版本与其他部分不同。更具体地说,如果您查看/home/Neil/ActivePerl-5.12/lib/Config.pm第 50 行,您将看到正在执行的 Perl 版本(5.12.0)与正在使用的 Config.pm 库版本(5.12.2)进行了显式比较。
如果您执行 ActivePerl 5.12.2 的新安装(以使所有组件达到相同版本),则此错误应该消失。