简体   繁体   English

CPAN Perl模块安装失败

[英]CPAN Perl module installation fail

I am trying to install PP to compile Perl scripts into an EXE file, and I am using 64-bit Windows 7 and 32-bit ActiveState Perl. 我正在尝试安装PP以将Perl脚本编译成EXE文件,并且我正在使用64位Windows 7和32位ActiveState Perl。 After typing 输入后

cpanm pp

My command prompt returns 我的命令提示符返回

 --> Working on pp
Fetching http://search.cpan.org/CPAN/authors/id/R/RS/RSCHUPP/P
r.gz ... OK
Configuring PAR-Packer-1.010 ... OK
Building and testing PAR-Packer-1.010 ... FAIL
! Installing pp failed. See \.cpanm\build.log for details.

Where .cpanm\\build.log reads: .cpanm \\ build.log的内容为:

cpanm (App::cpanminus) 1.5004 on perl 5.014002 built for MSWin32-x86-multi-thread
Work directory is /.cpanm/work/1321468976.3220
You have make nmake.exe
You have LWP 6.02
Falling back to Archive::Tar 1.78
Searching pp on cpanmetadb ...
--> Working on pp
Fetching http://search.cpan.org/CPAN/authors/id/R/RS/RSCHUPP/PAR-Packer-1.010.tar.gz
-> OK
Unpacking PAR-Packer-1.010.tar.gz
Entering PAR-Packer-1.010
Checking configure dependencies from META.yml
Checking if you have ExtUtils::Embed 0 ... Yes (1.3001)
Checking if you have ExtUtils::MakeMaker 6.42 ... Yes (6.57_05)
Configuring PAR-Packer-1.010
Running Makefile.PL
Checking if your kit is complete...
Warning: the following files are missing in your kit:
    myldr/boot
    myldr/boot.o
    myldr/parl
    myldr/pm_to_blib
    parpackerresource.zip
Please inform the author.
Prototype mismatch: sub main::prompt: none vs ($;$) at C:/Perl/lib/ExtUtils/MakeMaker.pm line 218
Writing Makefile for par.exe
Writing MYMETA.yml
Writing Makefile for PAR::Packer
Writing MYMETA.yml
-> OK
Checking dependencies from MYMETA.yml ...
Checking if you have ExtUtils::Embed 0 ... Yes (1.3001)
Checking if you have ExtUtils::MakeMaker 6.42 ... Yes (6.57_05)
Checking if you have Compress::Zlib 1.16 ... Yes (2.037)
Checking if you have Archive::Zip 1 ... Yes (1.30)
Checking if you have PAR 1.000 ... Yes (1.002)
Checking if you have IO::Compress::Gzip 0 ... Yes (2.037)
Checking if you have Getopt::ArgvFile 1.07 ... Yes (1.11)
Checking if you have PAR::Dist 0.22 ... Yes (0.48)
Checking if you have Win32::Process 0 ... Yes (0.14)
Checking if you have File::Temp 0.05 ... Yes (0.22)
Checking if you have Module::ScanDeps 1.01 ... Yes (1.05)
Checking if you have Parse::Binary 0.04 ... Yes (0.11)
Checking if you have Win32::Exe 0.14 ... Yes (0.17)
Building and testing PAR-Packer-1.010

Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.

     C:\Perl\bin\perl.exe "-Minc::Module::Install" -e "extract_par(q(PAR-Packer-1.010-MSWin32-x86-multi-thread-5.14.2.par))"
cp lib/App/Packer/PAR.pm blib\lib\App\Packer\PAR.pm
cp lib/PAR/Packer.pm blib\lib\PAR\Packer.pm
cp lib/PAR/Filter/Obfuscate.pm blib\lib\PAR\Filter\Obfuscate.pm
cp lib/PAR/Filter/PodStrip.pm blib\lib\PAR\Filter\PodStrip.pm
cp lib/PAR/StrippedPARL/Base.pm blib\lib\PAR\StrippedPARL\Base.pm
cp lib/PAR/Filter.pm blib\lib\PAR\Filter.pm
cp lib/PAR/Filter/PatchContent.pm blib\lib\PAR\Filter\PatchContent.pm
cp lib/PAR/Filter/Bytecode.pm blib\lib\PAR\Filter\Bytecode.pm
cp lib/pp.pm blib\lib\pp.pm
cp lib/PAR/Filter/Bleach.pm blib\lib\PAR\Filter\Bleach.pm
    C:\PROGRA~2\MICROS~1.0\VC\BIN\nmake.exe -f Makefile all -nologo
    C:\Perl\bin\perl.exe file2c.pl -s ..\script\par.pl my_par_pl.c load_my_par_pl
    C:\Perl\bin\perl.exe sha1.c.PL
    cl -c -Zm1000  -nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D_USE_32BIT_TIME_T  -I"C:\Perl\lib\CORE"  -DPARL_EXE=\"parl.exe\" -MD -Zi -DNDEBUG -O1 main.c
main.c
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\env.c(68) : warning C4996: 'strnicmp': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strnicmp. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(248) : see declaration of 'strnicmp'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\utils.c(104) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(238) : see declaration of 'strdup'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\utils.c(138) : warning C4996: 'strtok': This function or variable may be unsafe. Consider using strtok_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(197) : see declaration of 'strtok'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\utils.c(143) : warning C4996: 'strtok': This function or variable may be unsafe. Consider using strtok_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(197) : see declaration of 'strtok'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\utils.c(159) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\stdio.h(371) : see declaration of 'sprintf'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\utils.c(163) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(238) : see declaration of 'strdup'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\utils.c(165) : warning C4996: 'strtok': This function or variable may be unsafe. Consider using strtok_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(197) : see declaration of 'strtok'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\utils.c(193) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(238) : see declaration of 'strdup'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\utils.c(206) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(238) : see declaration of 'strdup'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\utils.c(209) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(238) : see declaration of 'strdup'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\utils.c(221) : warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(188) : see declaration of 'strncpy'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\mktmpdir.c(53) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\stdio.h(371) : see declaration of 'sprintf'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\mktmpdir.c(89) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(238) : see declaration of 'strdup'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\mktmpdir.c(109) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(238) : see declaration of 'strdup'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\mktmpdir.c(129) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(238) : see declaration of 'strdup'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\mktmpdir.c(137) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\stdio.h(371) : see declaration of 'sprintf'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\mktmpdir.c(149) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(238) : see declaration of 'strdup'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\mktmpdir.c(166) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\stdio.h(371) : see declaration of 'sprintf'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\mktmpdir.c(172) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(238) : see declaration of 'strdup'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\mktmpdir.c(211) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\stdio.h(371) : see declaration of 'sprintf'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\mktmpdir.c(225) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\stdio.h(371) : see declaration of 'sprintf'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\mktmpdir.c(232) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\stdio.h(371) : see declaration of 'sprintf'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\mktmpdir.c(245) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\stdio.h(371) : see declaration of 'sprintf'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\mktmpdir.c(258) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\stdio.h(371) : see declaration of 'sprintf'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\mktmpdir.c(288) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\stdio.h(371) : see declaration of 'sprintf'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\mktmpdir.c(295) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\stdio.h(371) : see declaration of 'sprintf'
c:\.cpanm\work\1321468976.3220\par-packer-1.010\myldr\mktmpdir.c(298) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\stdio.h(371) : see declaration of 'sprintf'
    link main.obj win32.obj -release   -nologo -nodefaultlib -debug -opt:ref,icf  -libpath:"C:\Perl\lib\CORE"  -machine:x86  C:\Perl\lib\CORE\perl514.lib "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\LIB\oldnames.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\kernel32.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\user32.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\gdi32.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\winspool.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\comdlg32.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\advapi32.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\shell32.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\ole32.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\oleaut32.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\netapi32.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\uuid.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\ws2_32.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\mpr.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\winmm.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\version.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\odbc32.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\odbccp32.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\comctl32.lib" "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\LIB\msvcrt.lib" -out:par.exe
    mt -nologo -manifest par.exe.manifest -outputresource:par.exe;1

par.exe.manifest : general error c1010070: Failed to load and parse the manifest. The system cannot find the file specified.

NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\mt.EXE"' : return code '0x1f'
Stop.
NMAKE : fatal error U1077: 'C:\PROGRA~2\MICROS~1.0\VC\BIN\nmake.exe' : return code '0x2'

I can't seem to figure out for the life of me what the actual problem is. 我似乎无法一生弄清楚实际问题是什么。

I know it's a bit much, but I haven't done this before, and any help or pointers as to where my error may be would be appreciated. 我知道这有点多,但是我以前没有做过,任何有关我的错误可能出现的地方的帮助或指针,将不胜感激。

Whoo boy... 哇...

It looks like ActivePerl is using VisualStudio to compile instead of MinGW. 似乎ActivePerl使用VisualStudio而不是MinGW进行编译。 That can be a bit of a mess to clean up. 清理可能有点混乱。

Fortunately, you can use the Perl Package Manager to install Par-Packer for you. 幸运的是,您可以使用Perl软件包管理器为您安装Par-Packer。 ActiveState has already taken the trouble of compiling it for you. ActiveState已经为您编译了麻烦。

Simply type in ppm Par-Packer at a command prompt. 只需在命令提示符下键入ppm Par-Packer Or, use the Perl Package Manager GUI. 或者,使用Perl软件包管理器GUI。 It's under the ActiveState menu item in the Start Menu->Programs. 它位于“开始”菜单->“程序”中的ActiveState菜单项下。

Corresponging this message , you should make two copies of your file MANIFEST and name it par.exe.manifest and static.exe.manifest . Corresponging 这条消息 ,你应该让你的文件的两个副本MANIFEST ,并将其命名par.exe.manifeststatic.exe.manifest I'v tried it and got success. 我尝试过并获得成功。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM