Build error for: PAR 1.019 and PAR-Packer 1.059 - Perl-5.36.1-Windows

I want Perl 5.36.1 with PAR::Packer.

I tried to add this as a Package Package PAR-Packer and select the version “Auto” (1.059).

It always ends with this:
Build Status Failed
168 of 170 Packages Built
Reason: Builder returned with exit code 2
Builder returned with exit code 2
Builder returned with exit code 2
Builder returned with exit code 2
Builder returned with exit code 2

The logs for PAR:

Building on WindowsDocker image docker-registry.activestate.build/activestate/windows-perl-builder@sha256:8abc5a15b8e24ac9bdb927875d755171bfb7ed30c6d2867000da1ed5c1152abd.
Preparing source for language/perl|PAR|1.019|1 (5becb38e-76cb-5d0d-adb0-8bc05af6f8c2).
Downloading s3://platform-sources/data-acquisition/59fe5e14a18a7dcc6629cbc0b87f6a8683112811f63f26ec265d6db4ce469246/PAR-1.019.tar.gz -> C:\Users\ContainerAdministrator\AppData\Local\Temp\PAR-1.019.tar.gz.
Downloaded 64.73KB (66282B) in 0.12 seconds.
Validating file C:\Users\ContainerAdministrator\AppData\Local\Temp\PAR-1.019.tar.gz against checksum 59fe5e14a18a7dcc6629cbc0b87f6a8683112811f63f26ec265d6db4ce469246.
Extracted archive C:\Users\ContainerAdministrator\AppData\Local\Temp\PAR-1.019.tar.gz in 0.03s.
Sources downloaded and unpacked.
No patches required, skipping patching...
Patching handled.
Preparing builder s3://platform-sources/builder/863bac307e59abe2c3e4191bd0618abe00d7e76736273a14474e0c8e6f0057c7/perl-module-builder.tar.gz.
Downloading s3://platform-sources/builder/863bac307e59abe2c3e4191bd0618abe00d7e76736273a14474e0c8e6f0057c7/perl-module-builder.tar.gz -> C:\Users\ContainerAdministrator\AppData\Local\Temp\perl-module-builder.tar.gz.
Downloaded 1.39KB (1425B) in 0.03 seconds.
Validating file C:\Users\ContainerAdministrator\AppData\Local\Temp\perl-module-builder.tar.gz against checksum 863bac307e59abe2c3e4191bd0618abe00d7e76736273a14474e0c8e6f0057c7.
Extracted archive C:\Users\ContainerAdministrator\AppData\Local\Temp\perl-module-builder.tar.gz in 0.0s.
Builder downloaded and unpacked.
Preparing builder dependency @s3://platform-sources/builder/fcfbf28262235b7148fe329757e6fc60dce4ad4ddb43d69b2ffa710eaf3125f3/perl-module-lib.tar.gz.
Downloading s3://platform-sources/builder/fcfbf28262235b7148fe329757e6fc60dce4ad4ddb43d69b2ffa710eaf3125f3/perl-module-lib.tar.gz -> C:\cache\914028b8-cc4e-545f-912d-0c5ba6529d83\perl-module-lib.tar.gz.
Downloaded 5.13KB (5252B) in 0.05 seconds.
Validating file C:\cache\914028b8-cc4e-545f-912d-0c5ba6529d83\perl-module-lib.tar.gz against checksum fcfbf28262235b7148fe329757e6fc60dce4ad4ddb43d69b2ffa710eaf3125f3.
Extracted archive C:\cache\914028b8-cc4e-545f-912d-0c5ba6529d83\perl-module-lib.tar.gz in 0.02s.
Preparing dependency @s3://as-builds/production/language/perl/5.36.1/3/6590ea92-2612-57c6-bdb1-0e3cffc60862/artifact.tar.gz.
Downloading s3://as-builds/production/language/perl/5.36.1/3/6590ea92-2612-57c6-bdb1-0e3cffc60862/artifact.tar.gz -> C:\cache\6590ea92-2612-57c6-bdb1-0e3cffc60862\artifact.tar.gz.
Downloaded 13.35MB (13996766B) in 0.3 seconds.
Validating file C:\cache\6590ea92-2612-57c6-bdb1-0e3cffc60862\artifact.tar.gz against checksum f4fe8a8a0c20dd1b30e60cef2c7fa3cd118792feecb3403f03ae8b122584f532.
Extracted archive C:\cache\6590ea92-2612-57c6-bdb1-0e3cffc60862\artifact.tar.gz in 3.5s.
replacing C:\builds\outputs\1\installdir with C:\builds\deps\1\installdir in files
  lib/Config_heavy.pl
replacing C:\\builds\\outputs\\1\\installdir with C:\\builds\\deps\\1\\installdir in files
  lib/Config.pm
  lib/CORE/config.h
Dependencies downloaded and unpacked.
Executing builder command C:\builds\builders\1\build.bat
Building in C:\builds\sources\1\PAR-1.019
Running [perl Makefile.PL PREFIX=C:\builds\outputs\1\installdir\site]...
Warning: prerequisite Archive::Zip 1.00 not found.

Warning: prerequisite PAR::Dist 0.32 not found.

Checking if your kit is complete...

Looks good

Generating a gmake-style Makefile

Writing Makefile for PAR

Writing MYMETA.yml and MYMETA.json

Running [gmake]...
Can't locate Archive/Zip.pm in @INC (you may need to install the Archive::Zip module) (@INC contains: C:\builds\outputs\1\installdir\site\lib C:/builds/deps/1/installdir/site/lib C:/builds/deps/1/installdir/lib .) at t/gen-hello-par.pl line 3.

BEGIN failed--compilation aborted at t/gen-hello-par.pl line 3.

gmake: *** [Makefile:975: t/hello.par] Error 2

gmake failed: 'gmake' exited with value 2 at C:\builds\builder-deps\1\installdir/lib/ActiveState/ModuleBuilder.pm line 475.
cp lib/PAR.pm blib\lib\PAR.pm

cp lib/PAR/SetupTemp.pm blib\lib\PAR\SetupTemp.pm

cp lib/PAR/Tutorial.pod blib\lib\PAR\Tutorial.pod

cp lib/PAR/SetupProgname.pm blib\lib\PAR\SetupProgname.pm

cp lib/PAR/FAQ.pod blib\lib\PAR\FAQ.pod

cp lib/PAR/Heavy.pm blib\lib\PAR\Heavy.pm

cp lib/PAR/Environment.pod blib\lib\PAR\Environment.pod

"C:\builds\deps\1\installdir\bin\perl.exe" "t/gen-hello-par.pl"

Build complete.
Archiving output...
No files were produced as a result of this build.
Created 296B archive in 0.0s.
Uploading C:\Users\ContainerAdministrator\AppData\Local\Temp\uploads17e34vma\CHECKSUM -> s3://as-builds/production/language/perl/PAR/1.019/1/5becb38e-76cb-5d0d-adb0-8bc05af6f8c2/2ddbdfb4-a4ab-4c3c-accc-cd045a31b9b3/CHECKSUM.
Uploaded 64B in 0.11s.
Uploading C:\Users\ContainerAdministrator\AppData\Local\Temp\uploads17e34vma\artifact.tar.gz -> s3://as-builds/production/language/perl/PAR/1.019/1/5becb38e-76cb-5d0d-adb0-8bc05af6f8c2/2ddbdfb4-a4ab-4c3c-accc-cd045a31b9b3/artifact.tar.gz.
Uploaded 296B in 0.05s.
Uploading C:\builds\meta\1\exitcode -> s3://as-builds/production/language/perl/PAR/1.019/1/5becb38e-76cb-5d0d-adb0-8bc05af6f8c2/2ddbdfb4-a4ab-4c3c-accc-cd045a31b9b3/exitcode.
Uploaded 1B in 0.05s.

==========================

The logs for: PAR-Packer:

Building on WindowsDocker image docker-registry.activestate.build/activestate/windows-perl-builder@sha256:8abc5a15b8e24ac9bdb927875d755171bfb7ed30c6d2867000da1ed5c1152abd.
Preparing source for language/perl|PAR-Packer|1.059|1 (59f6d0ad-6db0-532f-918b-f5ef8397fdeb).
Downloading s3://platform-sources/data-acquisition/5fdc4ff472fd4246e9d0e1704b6ff7f42167d937115fedb714a32d60a93d0ecf/PAR-Packer-1.059.tar.gz -> C:\Users\ContainerAdministrator\AppData\Local\Temp\PAR-Packer-1.059.tar.gz.
Downloaded 194.07KB (198725B) in 0.14 seconds.
Validating file C:\Users\ContainerAdministrator\AppData\Local\Temp\PAR-Packer-1.059.tar.gz against checksum 5fdc4ff472fd4246e9d0e1704b6ff7f42167d937115fedb714a32d60a93d0ecf.
Extracted archive C:\Users\ContainerAdministrator\AppData\Local\Temp\PAR-Packer-1.059.tar.gz in 0.09s.
Sources downloaded and unpacked.
No patches required, skipping patching...
Patching handled.
Preparing builder s3://platform-sources/builder/863bac307e59abe2c3e4191bd0618abe00d7e76736273a14474e0c8e6f0057c7/perl-module-builder.tar.gz.
Downloading s3://platform-sources/builder/863bac307e59abe2c3e4191bd0618abe00d7e76736273a14474e0c8e6f0057c7/perl-module-builder.tar.gz -> C:\Users\ContainerAdministrator\AppData\Local\Temp\perl-module-builder.tar.gz.
Downloaded 1.39KB (1425B) in 0.03 seconds.
Validating file C:\Users\ContainerAdministrator\AppData\Local\Temp\perl-module-builder.tar.gz against checksum 863bac307e59abe2c3e4191bd0618abe00d7e76736273a14474e0c8e6f0057c7.
Extracted archive C:\Users\ContainerAdministrator\AppData\Local\Temp\perl-module-builder.tar.gz in 0.02s.
Builder downloaded and unpacked.
Preparing builder dependency @s3://platform-sources/builder/fcfbf28262235b7148fe329757e6fc60dce4ad4ddb43d69b2ffa710eaf3125f3/perl-module-lib.tar.gz.
Downloading s3://platform-sources/builder/fcfbf28262235b7148fe329757e6fc60dce4ad4ddb43d69b2ffa710eaf3125f3/perl-module-lib.tar.gz -> C:\cache\914028b8-cc4e-545f-912d-0c5ba6529d83\perl-module-lib.tar.gz.
Downloaded 5.13KB (5252B) in 0.03 seconds.
Validating file C:\cache\914028b8-cc4e-545f-912d-0c5ba6529d83\perl-module-lib.tar.gz against checksum fcfbf28262235b7148fe329757e6fc60dce4ad4ddb43d69b2ffa710eaf3125f3.
Extracted archive C:\cache\914028b8-cc4e-545f-912d-0c5ba6529d83\perl-module-lib.tar.gz in 0.02s.
Preparing dependency @s3://as-builds/production/language/perl/5.36.1/3/6590ea92-2612-57c6-bdb1-0e3cffc60862/artifact.tar.gz.
Downloading s3://as-builds/production/language/perl/5.36.1/3/6590ea92-2612-57c6-bdb1-0e3cffc60862/artifact.tar.gz -> C:\cache\6590ea92-2612-57c6-bdb1-0e3cffc60862\artifact.tar.gz.
Downloaded 13.35MB (13996766B) in 0.3 seconds.
Validating file C:\cache\6590ea92-2612-57c6-bdb1-0e3cffc60862\artifact.tar.gz against checksum f4fe8a8a0c20dd1b30e60cef2c7fa3cd118792feecb3403f03ae8b122584f532.
Extracted archive C:\cache\6590ea92-2612-57c6-bdb1-0e3cffc60862\artifact.tar.gz in 3.25s.
replacing C:\builds\outputs\1\installdir with C:\builds\deps\1\installdir in files
  lib/Config_heavy.pl
replacing C:\\builds\\outputs\\1\\installdir with C:\\builds\\deps\\1\\installdir in files
  lib/Config.pm
  lib/CORE/config.h
Dependencies downloaded and unpacked.
Executing builder command C:\builds\builders\1\build.bat
Building in C:\builds\sources\1\PAR-Packer-1.059
Running [perl Makefile.PL PREFIX=C:\builds\outputs\1\installdir\site]...
Warning: prerequisite Archive::Zip 1.02 not found.

Warning: prerequisite Getopt::ArgvFile 1.07 not found.

Warning: prerequisite IPC::Run3 0.048 not found.

Warning: prerequisite Module::ScanDeps 1.21 not found.

Warning: prerequisite PAR 1.016 not found.

Warning: prerequisite PAR::Dist 0.22 not found.

Subroutine MY::postamble redefined at ./Makefile.PL line 232.

# using "objdump" recursively to find DLLs needed by par.exe

Checking if your kit is complete...

Looks good

Writing MYMETA.yml and MYMETA.json

Generating a gmake-style Makefile

Writing Makefile for PAR::Packer

Writing MYMETA.yml and MYMETA.json

Running [gmake]...
Makefile:870: warning: overriding recipe for target '.c.o'

Makefile:341: warning: ignoring old recipe for target '.c.o'

# using method recursive_objdump to find files to embed

# embedding "par.exe" as "par.exe"

# embedding "C:\builds\deps\1\installdir\bin/perl536.dll" as "perl536.dll"

# embedding "C:\builds\deps\1\installdir\bin/libstdc++-6.dll" as "libstdc++-6.dll"

# embedding "C:\builds\deps\1\installdir\bin/libwinpthread-1.dll" as "libwinpthread-1.dll"

# embedding "C:\builds\deps\1\installdir\bin/libgcc_s_seh-1.dll" as "libgcc_s_seh-1.dll"

cp lib/PAR/Filter/PodStrip.pm blib\lib\PAR\Filter\PodStrip.pm

cp lib/App/Packer/PAR.pm blib\lib\App\Packer\PAR.pm

cp lib/PAR/Filter/PatchContent.pm blib\lib\PAR\Filter\PatchContent.pm

cp lib/PAR/Filter/Obfuscate.pm blib\lib\PAR\Filter\Obfuscate.pm

cp lib/PAR/Packer.pm blib\lib\PAR\Packer.pm

cp lib/PAR/Filter/Bleach.pm blib\lib\PAR\Filter\Bleach.pm

cp lib/pp.pm blib\lib\pp.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/Bytecode.pm blib\lib\PAR\Filter\Bytecode.pm

gmake[1]: Entering directory 'C:/builds/sources/1/PAR-Packer-1.059/t/data'

cp lib/Double/Colon.pm ..\blib\lib\Double\Colon.pm

cp lib/Double/Colon/Foo/Bar/Quux.pm ..\blib\lib\Double\Colon\Foo\Bar\Quux.pm

cp lib/Double/Colon/Fred.pm ..\blib\lib\Double\Colon\Fred.pm

cp lib/Myfile.pm ..\blib\lib\Myfile.pm

cp lib/XSFoo.pm ..\blib\lib\XSFoo.pm

cp lib/Double/Colon/Barnie.pm ..\blib\lib\Double\Colon\Barnie.pm

Running Mkbootstrap for XSFoo ()
"C:\builds\deps\1\installdir\bin\perl.exe" -MExtUtils::Command -e chmod -- 644 "XSFoo.bs"

"C:\builds\deps\1\installdir\bin\perl.exe" -MExtUtils::Command::MM -e cp_nonempty -- XSFoo.bs ..\blib\lib\auto\XSFoo\XSFoo.bs 644

"C:\builds\deps\1\installdir\bin\perl.exe" "C:\builds\deps\1\installdir\lib\ExtUtils/xsubpp"  -typemap C:\builds\deps\1\installdir\lib\ExtUtils\typemap  XSFoo.xs > XSFoo.xsc

"C:\builds\deps\1\installdir\bin\perl.exe" -MExtUtils::Command -e mv -- XSFoo.xsc XSFoo.c

gcc -c  -I. -DWIN32 -DWIN64 -DPERL_TEXTMODE_SCRIPTS -DMULTIPLICITY -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D__USE_MINGW_ANSI_STDIO -fwrapv -fno-strict-aliasing -mms-bitfields -O2   -DVERSION=\"0.01\" -DXS_VERSION=\"0.01\"  "-IC:\builds\deps\1\installdir\lib\CORE"   XSFoo.c

"C:\builds\deps\1\installdir\bin\perl.exe" -MExtUtils::Mksymlists \

     -e "Mksymlists('NAME'=>\"XSFoo\", 'DLBASE' => 'XSFoo', 'DL_FUNCS' => {  }, 'FUNCLIST' => [], 'IMPORTS' => {  }, 'DL_VARS' => []);"

g++ XSFoo.def -o ..\blib\lib\auto\XSFoo\XSFoo.dll -shared -s -L"C:\builds\deps\1\installdir\lib\CORE" -L"C:/ProgramData/chocolatey/lib/mingw/tools/install/mingw64\lib" -L"C:/ProgramData/chocolatey/lib/mingw/tools/install/mingw64\x86_64-w64-mingw32\lib" -L"C:/ProgramData/chocolatey/lib/mingw/tools/install/mingw64\lib\gcc\x86_64-w64-mingw32\8.1.0" XSFoo.o   "C:\builds\deps\1\installdir\lib\CORE\libperl536.a" -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 -Wl,--enable-auto-image-base

"C:\builds\deps\1\installdir\bin\perl.exe" -MExtUtils::Command -e chmod -- 755 ..\blib\lib\auto\XSFoo\XSFoo.dll

gmake[1]: Leaving directory 'C:/builds/sources/1/PAR-Packer-1.059/t/data'

gmake[1]: Entering directory 'C:/builds/sources/1/PAR-Packer-1.059/myldr'

"C:\builds\deps\1\installdir\bin\perl.exe" par_pl2c.pl my_par_pl < ..\script\par.pl > my_par_pl.c

gcc -c -DWIN32 -DWIN64  -DPERL_TEXTMODE_SCRIPTS -DMULTIPLICITY -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D__USE_MINGW_ANSI_STDIO -fwrapv -fno-strict-aliasing -mms-bitfields  -I"C:\builds\deps\1\installdir\lib\CORE"  -DLDLIBPTHNAME=\"\" -DPARL_EXE=\"parl.exe\" -DPAR_PACKER_VERSION=\"1.059\" -O2 main.c

gcc -c -DWIN32 -DWIN64  -DPERL_TEXTMODE_SCRIPTS -DMULTIPLICITY -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D__USE_MINGW_ANSI_STDIO -fwrapv -fno-strict-aliasing -mms-bitfields  -I"C:\builds\deps\1\installdir\lib\CORE"  -DLDLIBPTHNAME=\"\" -DPARL_EXE=\"parl.exe\" -DPAR_PACKER_VERSION=\"1.059\" -O2 -DBYTEORDER=0x12345678 -DU64TYPE="unsigned long long" sha1.c

windres -i winres/pp.rc -o ppresource.coff --input-format=rc --output-format=coff --target=pe-x86-64

g++ main.o sha1.o ppresource.coff -s   -s -L"C:\builds\deps\1\installdir\lib\CORE" -L"C:/ProgramData/chocolatey/lib/mingw/tools/install/mingw64\lib" -L"C:/ProgramData/chocolatey/lib/mingw/tools/install/mingw64\x86_64-w64-mingw32\lib" -L"C:/ProgramData/chocolatey/lib/mingw/tools/install/mingw64\lib\gcc\x86_64-w64-mingw32\8.1.0"  "C:\builds\deps\1\installdir\lib\CORE\libperl536.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libmoldname.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libkernel32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libuser32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libgdi32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libwinspool.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libcomdlg32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libadvapi32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libshell32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libole32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\liboleaut32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libnetapi32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libuuid.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libws2_32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libmpr.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libwinmm.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libversion.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libodbc32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libodbccp32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libcomctl32.a"  -o par.exe

rem

"C:\builds\deps\1\installdir\bin\perl.exe" encode_append.pl Dynamic.in par.exe Dynamic.pm

"C:\builds\deps\1\installdir\bin\perl.exe" embed_files.pl -c 32768 par.exe recursive_objdump "C:\builds\deps\1\installdir\bin\perl536.dll" > boot_embedded_files.c

gcc -c -DWIN32 -DWIN64  -DPERL_TEXTMODE_SCRIPTS -DMULTIPLICITY -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D__USE_MINGW_ANSI_STDIO -fwrapv -fno-strict-aliasing -mms-bitfields  -I"C:\builds\deps\1\installdir\lib\CORE"  -DLDLIBPTHNAME=\"\" -DPARL_EXE=\"parl.exe\" -DPAR_PACKER_VERSION=\"1.059\" -O2 boot.c

Can't locate Archive/Zip.pm in @INC (you may need to install the Archive::Zip module) (@INC contains: ..\blib\arch ..\blib\lib C:\builds\outputs\1\installdir\site\lib C:/builds/deps/1/installdir/site/lib C:/builds/deps/1/installdir/lib . .) at -e line 236.

Undefined subroutine &File::Find::finddepth called at -e line 35.

END failed--call queue aborted.

system(boot.exe -I..\blib\arch -I..\blib\lib -IC:\builds\outputs\1\installdir\site\lib -IC:/builds/deps/1/installdir/site/lib -IC:/builds/deps/1/installdir/lib -I. -q -B -Oparl.exe) failed: $?=65280

gmake[1]: *** [Makefile:898: parl.exe] Error 255

gmake: *** [Makefile:577: subdirs] Error 2

gmake failed: 'gmake' exited with value 2 at C:\builds\builder-deps\1\installdir/lib/ActiveState/ModuleBuilder.pm line 475.
g++ boot.o sha1.o  -static-libgcc -s   -s -L"C:\builds\deps\1\installdir\lib\CORE" -L"C:/ProgramData/chocolatey/lib/mingw/tools/install/mingw64\lib" -L"C:/ProgramData/chocolatey/lib/mingw/tools/install/mingw64\x86_64-w64-mingw32\lib" -L"C:/ProgramData/chocolatey/lib/mingw/tools/install/mingw64\lib\gcc\x86_64-w64-mingw32\8.1.0"  "C:\builds\deps\1\installdir\lib\CORE\libperl536.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libmoldname.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libkernel32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libuser32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libgdi32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libwinspool.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libcomdlg32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libadvapi32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libshell32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libole32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\liboleaut32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libnetapi32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libuuid.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libws2_32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libmpr.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libwinmm.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libversion.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libodbc32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libodbccp32.a" "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\x86_64-w64-mingw32\lib\libcomctl32.a"  ppresource.coff -o boot.exe

rem

"C:\builds\deps\1\installdir\bin\perl.exe" encode_append.pl Static.in boot.exe Static.pm

cp Static.pm ..\blib\lib\PAR\StrippedPARL\Static.pm

cp Dynamic.pm ..\blib\lib\PAR\StrippedPARL\Dynamic.pm

"C:\builds\deps\1\installdir\bin\perl.exe" -Mblib=.. run_with_inc.pl boot.exe -q -B -Oparl.exe

gmake[1]: Leaving directory 'C:/builds/sources/1/PAR-Packer-1.059/myldr'

Build complete.
Archiving output...
No files were produced as a result of this build.
Created 289B archive in 0.0s.
Uploading C:\Users\ContainerAdministrator\AppData\Local\Temp\uploadslyw9sp_z\CHECKSUM -> s3://as-builds/production/language/perl/PAR-Packer/1.059/1/59f6d0ad-6db0-532f-918b-f5ef8397fdeb/06591468-8c42-4b4d-8d6a-a67b204cb0b8/CHECKSUM.
Uploaded 64B in 0.09s.
Uploading C:\Users\ContainerAdministrator\AppData\Local\Temp\uploadslyw9sp_z\artifact.tar.gz -> s3://as-builds/production/language/perl/PAR-Packer/1.059/1/59f6d0ad-6db0-532f-918b-f5ef8397fdeb/06591468-8c42-4b4d-8d6a-a67b204cb0b8/artifact.tar.gz.
Uploaded 289B in 0.06s.
Uploading C:\builds\meta\1\exitcode -> s3://as-builds/production/language/perl/PAR-Packer/1.059/1/59f6d0ad-6db0-532f-918b-f5ef8397fdeb/06591468-8c42-4b4d-8d6a-a67b204cb0b8/exitcode.
Uploaded 1B in 0.03s.

==========================

For what it’s worth, I was able to add PAR-Packer 1.052 to Perl-5.36.0 without problems; I just added the package to my project from the “Configure” button on the web.

Thank you both for the details - We have applied the fixes we made in 1.052 forward up to 1.059. This has been fixed on our backend I would expect the fix to be live on Tuesday or Wednesday.

Best,
Marc

These should work now - But note these are GPL and should not be used commercially.

2 Likes

Hi,

I have the same problem, now with Perl 5.36.3.
See below the top-level message from the web site. I can provide the log files if desired.

Thanks!

Build Status

Failed162 of 163 Packages Built

Reason: Builder returned with exit code 2

  • Builder returned with exit code 2
  • Builder returned with exit code 2

Package build statusCommit ID: 85e4894b-1e2c-40c5-a5cb-52500bfa3392

Looks like we needed to fix the new import 1.061 - It is now fixed.

Note if this happens again, you should be able to pin to the last working version of PAR-Packer - 1.061 should continue to work.

Hi Marc,

I just tried building with PAR-Packer version set to “Auto” (1.061), and got the same error. Should I wait for this version to propagate to the server, or something like that?

Forcing the use of version 1.059 yields a successful build.

Thanks,

Thanks for the heads up! - I have confirmed that this should work now.

1 Like

Yes, PAR-Packer version 1.061 builds correctly now. Thanks!
Note that I haven’t had time to test it beyond perl -e "use PAR::Packer". I’ll report if it doesn’t work.

Please do! Thank You :slight_smile:

Hi,

Unfortunately, the PAR packager doesn’t seem to work in ActivePerl-5.36.3.
It did work in ActivePerl-5.26.1, the most recent version I have before the introduction of the state tool.

I have 2 PCs running Windows 10, one has ActivePerl-5.36.3, the other has ActivePerl-5.26.1. On each PC, I created an executable with these commands, respectively:
pp -o tp-5.36.exe test-par.pl
pp -o tp-5.26.exe test-par.pl

On both systems, tp-5.36.exe first fails like this (the ‘fc5c…ab8a’ cache directory varies):

Can't load 'C:\Users\gamin\AppData\Local\Temp\par-67616d696e\cache-fc5c6777ec92c73ac37eb68bfc57ed00624cab8a\inc\lib\auto\XML\LibXML\LibXML.dll' for module XML::LibXML: load_file:The specified module could not be found at <embedded>/DynaLoader.pm line 206.
  at <embedded>/PAR/Heavy.pm line 104.
BEGIN failed--compilation aborted at C:\Users\gamin\AppData\Local\Temp\par-67616d696e\cache-fc5c6777ec92c73ac37eb68bfc57ed00624cab8a\inc\lib/XML/LibXML.pm line 156.
Compilation failed in require at script/test-par.pl line 4.
BEGIN failed--compilation aborted at script/test-par.pl line 4.

and on the second and all successive calls, like this (note that the missing module changes on the first line):

Can't load 'C:\Users\gamin\AppData\Local\Temp\par-67616d696e\cache-fc5c6777ec92c73ac37eb68bfc57ed00624cab8a\6561313a.dll' for module XML::LibXML: load_file:The specified module could not be found at <embedded>/DynaLoader.pm line 206.
  at <embedded>/PAR/Heavy.pm line 149.
BEGIN failed--compilation aborted at C:\Users\gamin\AppData\Local\Temp\par-67616d696e\cache-fc5c6777ec92c73ac37eb68bfc57ed00624cab8a\inc\lib/XML/LibXML.pm line 156.
Compilation failed in require at script/test-par.pl line 4.
BEGIN failed--compilation aborted at script/test-par.pl line 4.

I checked, and <cache directory>\inc\lib\auto\XML\LibXML\LibXML.dll and <cache directory>\6561313a.dll both exist.

On both systems, tp-5.26.exe runs successfully and prints this (the cache directory varies):

@INC = C:\Users\gamin\AppData\Local\Temp\par-67616d696e\cache-a36ed5e748804d22d1316a6e271f8449d7678716\inc\lib;C:\Users\gamin\AppData\Local\Temp\par-67616d696e\cache-a36ed5e748804d22d1316a6e271f8449d7678716\inc;CODE(0x3965120);CODE(0x3965350)
            HOMEPATH = '\Users\gamin'
               PAR_0 = 'C:\Users\gamin\AppData\Local\Temp\par-67616d696e\cache-a36ed5e748804d22d1316a6e271f8449d7678716\ba70c365.pl'
     PAR_INITIALIZED = '2'
        PAR_PROGNAME = 'C:\Users\<...redacted...>\tp-5.26.exe'
         PAR_SPAWNED = '1'
            PAR_TEMP = 'C:\Users\gamin\AppData\Local\Temp\par-67616d696e\cache-a36ed5e748804d22d1316a6e271f8449d7678716'
                PATH = 'C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\cygwin64\bin;C:\Perl\exec;C:\Perl\site\bin;C:\Perl\user\bin;C:\Program Files (x86)\ActiveState Komodo IDE 12\;C:\Users\gamin\AppData\Local\ActiveState\StateTool\release\bin;C:\Users\gamin\AppData\Local\Microsoft\WindowsApps;'
             PATHEXT = '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC'
        PSMODULEPATH = 'C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules'
C:\Users\gamin\AppData\Local\Temp\par-67616d696e\cache-a36ed5e748804d22d1316a6e271f8449d7678716/inc/lib/auto/XML/LibXML/LibXML.dll exists.
Hello world.

The normal (unpacked) test-par.pl script itself runs successfully on both systems and prints the following:

@INC = c:/Perl/site/lib;c:/Perl/lib
            HOMEPATH = '\Users\gamin'
             MANPATH = 'C:\Perl\man;C:\Perl\site\man'
                PATH = 'C:\Perl\site\bin;C:\Perl/usr/bin;C:\Perl\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\cygwin64\bin;C:\Perl\exec;C:\Perl\site\bin;C:\Perl\user\bin;C:\Program Files (x86)\ActiveState Komodo IDE 12\;C:\Users\gamin\AppData\Local\ActiveState\StateTool\release\bin;C:\Users\gamin\AppData\Local\Microsoft\WindowsApps;'
             PATHEXT = '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC'
     PKG_CONFIG_PATH = 'C:\Perl/usr/lib/pkgconfig'
        PSMODULEPATH = 'C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules'
Hello world.

Interestingly, the PATH environment variable is modified (by C:\Perl\exec\perl.exe) before the script runs, compared to its default value:

> echo %PATH%
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\cygwin64\bin;C:\Perl\exec;C:\Perl\site\bin;C:\Perl\user\bin;C:\Program Files (x86)\ActiveState Komodo IDE 12\;C:\Users\gamin\AppData\Local\ActiveState\StateTool\release\bin;C:\Users\gamin\AppData\Local\Microsoft\WindowsApps;
> perl -e "print $ENV{'PATH'}"
C:\Perl\site\bin;C:\Perl/usr/bin;C:\Perl\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\cygwin64\bin;C:\Perl\exec;C:\Perl\site\bin;C:\Perl\user\bin;C:\Program Files (x86)\ActiveState Komodo IDE 12\;C:\Users\gamin\AppData\Local\ActiveState\StateTool\release\bin;C:\Users\gamin\AppData\Local\Microsoft\WindowsApps;

The test-par.pl script is:

use strict;
use warnings;

use XML::LibXML;

printf "\@INC = %s\n", join ';', @INC;
foreach my $k (sort keys %ENV) {
  next unless $k =~ /par|inc|path/i;
  printf "%20s = '$ENV{$k}'\n", $k;
}

my $PAR_TEMP = $ENV{PAR_TEMP};
if ($PAR_TEMP) {
  my $dll = $PAR_TEMP . '/inc/lib/auto/XML/LibXML/LibXML.dll';
  if (-f -r -s $dll) {
    print "$dll exists.\n";
  } else {
    print "$dll doesn't exist.\n";
  }
}
print "Hello world.\n";

Since the script itself runs fine on both systems, and since the error depends on the system used to build the executable, and not on the script or command used to create the executable, there must be something wrong with my installation, pp, or both. I suspect that the problem could be with either the extra level of indirection introduced by the programs in the ‘exec’ directory, or missing XML libraries in the packaged archive (see XML-LibXML fails to load with Perl 5.36.3 (worked with 5.36.0)).

By the way, everything works if the use XML::LibXML; is commented out, so this means the Perl Packager works, but not on anything that uses dynamic loading, which rules out a lot of packages.

I’m willing to help, but I don’t know what to do next. Any guidance?

Thanks,

Martin

We will take a look at this!

1 Like

Interestingly, use Text::CSV_XS; works and I was able to create a working PAR file and run it.

So, some dynamically loaded modules work, but at least XML::LibXML doesn’t. Sorry, I should have checked that before writing my previous post; I tried to edit it but I cannot find how.

Martin

Thanks for the update - we are still looking into this, but that helps narrow down the issue.

There should be some updates for this coming soon - possibly today, definitely by Monday.

1 Like

Also - just in case we haven’t noted it before, PAR is published under a GPL license → PAR LICENSE If your use case is commercial, make sure that your usage falls under the license terms.

Hi Marc,

Thanks for pointing this out. Tell me if I’m wrong, but strictly speaking:

  1. The PAR license is “the same terms as the Perl 5 programming language system itself”, which isn’t strictly GPL but rather “either GPL or the Artistic License”.
  2. I’m using pp, not PAR, and the licence for pp says “Neither this program nor the associated parl program impose any licensing restrictions on files generated by their execution”.
  3. Yes, pp uses PAR, but a number of other modules as well. Perhaps I should check the licensing terms of all the packages called by pp, directly or indirectly. Ouch!

My usage is not commercial, so I should be good. I want to use pp to give my own Perl programs to friends who don’t have Perl installed. I have no intention of wide distribution, and certainly not of commercial use.

I’ve written or contributed to open-source software myself, and I want to respect the work of others (commercial or not). Given that it’s the second time someone from ActiveState reminds me of the PAR license and possible commercial limitations, I need to ask: how is the PAR (or pp) license or usage different from that of Perl itself or of most of the Perl modules?

Thanks!

-Martin

Regarding point 1:
Yes, that’s the language of that license, and when you build your own copy of Perl from the source you are the person who gets to make that choice of licenses. However, if you are using a binary version of Perl, that choice has already been made for you, and you can only agree or disagree with it at the point you install the binary version of Perl. If you install Strawberry Perl, you must use GPL because other parts of the distribution have forced that choice on the Strawberry Perl release. You cannot later switch to using the Artistic language.
If you use ActivePerl, we have chosen the Artistic License, which allows us to alter or extend the conditions of usage beyond what the licenses for Perl state, and by using an ActiveState Perl you agree to our conditions.
It’s not possible to go back and revoke the choice made on your behalf in either case.

Regarding point 2:
pp does not impose it’s own restrictions. Neither does parl. But in both cases they do not remove any restrictions you have already accepted either. They are not “undo” licenses. They are intended to be entirely transparent to the pre-existing licenses. So it’s not really the use of pp or parl that can get you into difficulty with the licensing; it’s not complying with the terms of the underlying components that these programs are marshalling.
In order to be really confident about the technical components going into a PerlARchive package, your only option is to get all those components in the way this software was originally imagined. Perl should be built on your local machine from the Perl source code, with copies of the C libraries that you have also built from their source code on your local machine, PAR pp and friends should be compiled locally against the Perl and libraries that you have built, and then you can include any code that you have written.
Any other method means you do not have control of the (Perl) license terms you prefer to accept.

Regarding point 3:
Yes. Absolutely. You should do that for your own protection, because by passing something you didn’t build yourself that has been packaged with these tools along to anyone else, you are accepting the terms of license for all components on behalf of everyone you pass it to. You are liable for meeting the terms of the licenses you have agreed to. If the others you pass it to do something against the terms of license that you have accepted on their behalf, then you are rather likely to be liable for that too.

Licensing by use case is called out, or not, in the terms of the license. Since all of the components of any ActiveState product are covered individually and collectively by the license, and PAR/pp/parl packages components, the exact use case you are proposing is described in paragraph 2.2 of the ActiveState license for Perl. It requires an OEM agreement even in the case of non-profit, non-commercial usage.

What makes PAR (or pp) different from most modules? PAR is a packaging and distribution system, and that’s why you want to use it to get Perl to people who have not installed Perl. Functionally, it’s closer to a software installer generator than it is to the typical Perl module that extends the functionality of Perl. (It also happens to be a relic of a bygone time, but that’s it’s technical limitations rather than it’s licensing impact).

So, this is why we try to point out the implications of using these packagers. They are not as simple/easy a choice as they seem.

Thanks for the clarifications. I’m not really surprised, but I did learn a few things (most importantly the GPL/Artistic Licence distinction between Strawberry and ActiveState Perls). I’m bookmarking your answer! :slight_smile:

It took me several minutes to find the ActiveState licensing agreement which, like most users probably, I hadn’t saved for reference; I finally found it under Legal > ActiveState Platform Terms of Service. May I suggest adding on activestate.com a link for “license” or “EULA”?

I will contact sales@activestate to comply with paragraph 2.2 of the ActiveState license before “redistributing” anything that includes ActiveState component.

Thanks again,

Hi,

I’m happy to report that the updates of earlier this week appear to have fixed the problem; all my regression test cases passed.

I’m equally happy to report that the “redistribution” issue was settled with sales.

Thanks to everyone involved, this was really well done. Excellent technical and commercial support!

-Martin