CPAN Perl module installation fail

3.5k views Asked by At

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. 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 (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.

2

There are 2 answers

0
David W. On

Whoo boy...

It looks like ActivePerl is using VisualStudio to compile instead of 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. ActiveState has already taken the trouble of compiling it for you.

Simply type in ppm Par-Packer at a command prompt. Or, use the Perl Package Manager GUI. It's under the ActiveState menu item in the Start Menu->Programs.

0
Jury On

Corresponging this message, you should make two copies of your file MANIFEST and name it par.exe.manifest and static.exe.manifest. I'v tried it and got success.