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