cpanm can't install ExtUtils::Manifest on StrawberryPerl
Closed this issue · 6 comments
See Perl-Toolchain-Gang/ExtUtils-Manifest#31
I'm hitting this as I'm trying to ensure that my code will work on Windows GitHub runners...
Here's a tiny repository showing the problem:
https://github.com/check-spelling-sandbox/strawberry-perl-cpanm-ExtUtils-Manifest/actions/runs/10420643358/job/28861062586
cpanm -v ExtUtils::Manifest
cpanm -v ExtUtils::Manifest
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
cpanm (App::cpanminus) 1.7044 on perl 5.03800[2](https://github.com/check-spelling-sandbox/strawberry-perl-cpanm-ExtUtils-Manifest/actions/runs/10420643358/job/28861062586#step:2:2) built for x86_64-msys-thread-multi
Work directory is /c/Users/runneradmin/.cpanm/work/172[3](https://github.com/check-spelling-sandbox/strawberry-perl-cpanm-ExtUtils-Manifest/actions/runs/10420643358/job/28861062586#step:2:3)814435.1063
You have make /c/mingw64/bin/make
You have LWP 6.77
You have /usr/bin/tar: tar (GNU tar) 1.35
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by John Gilmore and Jay Fenlason.
You have /usr/bin/unzip
Searching ExtUtils::Manifest () on cpanmetadb ...
Unpacking ExtUtils-Manifest-1.75.tar.gz
--> Working on ExtUtils::Manifest
Fetching http://www.cpan.org/authors/id/E/ET/ETHER/ExtUtils-Manifest-1.75.tar.gz ... OK
ExtUtils-Manifest-1.75/
ExtUtils-Manifest-1.75/INSTALL
ExtUtils-Manifest-1.75/LICENSE
ExtUtils-Manifest-1.75/Changes
ExtUtils-Manifest-1.75/MANIFEST
ExtUtils-Manifest-1.75/t/
ExtUtils-Manifest-1.75/xt/
ExtUtils-Manifest-1.75/README
ExtUtils-Manifest-1.75/META.yml
ExtUtils-Manifest-1.75/lib/
ExtUtils-Manifest-1.75/Makefile.PL
ExtUtils-Manifest-1.75/META.json
ExtUtils-Manifest-1.75/dist.ini
ExtUtils-Manifest-1.75/lib/ExtUtils/
ExtUtils-Manifest-1.75/lib/ExtUtils/Manifest.pm
ExtUtils-Manifest-1.75/lib/ExtUtils/MANIFEST.SKIP
ExtUtils-Manifest-1.75/xt/author/
ExtUtils-Manifest-1.75/xt/release/
ExtUtils-Manifest-1.75/xt/release/changes_has_content.t
ExtUtils-Manifest-1.75/xt/release/cpan-changes.t
ExtUtils-Manifest-1.75/xt/author/mojibake.t
ExtUtils-Manifest-1.75/xt/author/minimum-version.t
ExtUtils-Manifest-1.75/xt/author/00-compile.t
ExtUtils-Manifest-1.75/xt/author/pod-syntax.t
ExtUtils-Manifest-1.75/xt/author/portability.t
ExtUtils-Manifest-1.75/xt/author/distmeta.t
ExtUtils-Manifest-1.75/xt/author/pod-no[4](https://github.com/check-spelling-sandbox/strawberry-perl-cpanm-ExtUtils-Manifest/actions/runs/10420643358/job/28861062586#step:2:5)04s.t
ExtUtils-Manifest-1.75/t/Manifest.t
ExtUtils-Manifest-1.75/t/00-report-prereqs.t
ExtUtils-Manifest-1.7[5](https://github.com/check-spelling-sandbox/strawberry-perl-cpanm-ExtUtils-Manifest/actions/runs/10420643358/job/28861062586#step:2:6)/t/00-report-prereqs.dd
Entering ExtUtils-Manifest-1.75
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker [6](https://github.com/check-spelling-sandbox/strawberry-perl-cpanm-ExtUtils-Manifest/actions/runs/10420643358/job/28861062586#step:2:7).58 ... No
Searching ExtUtils::MakeMaker (6.58) on cpanmetadb ...
Unpacking ExtUtils-MakeMaker-[7](https://github.com/check-spelling-sandbox/strawberry-perl-cpanm-ExtUtils-Manifest/actions/runs/10420643358/job/28861062586#step:2:8).70.tar.gz
==> Found dependencies: ExtUtils::MakeMaker
--> Working on ExtUtils::MakeMaker
Fetching http://www.cpan.org/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.70.tar.gz ... OK
ExtUtils-MakeMaker-7.70/
ExtUtils-MakeMaker-7.70/my/
ExtUtils-MakeMaker-7.70/my/bundles.pm
ExtUtils-MakeMaker-7.70/bin/
ExtUtils-MakeMaker-7.70/bin/instmodsh
ExtUtils-MakeMaker-7.70/bundled/
ExtUtils-MakeMaker-7.70/bundled/CPAN-Meta/
ExtUtils-MakeMaker-7.70/bundled/CPAN-Meta/CPAN/
ExtUtils-MakeMaker-7.70/bundled/CPAN-Meta/CPAN/Meta.pm
ExtUtils-MakeMaker-7.70/bundled/CPAN-Meta/CPAN/Meta/
ExtUtils-MakeMaker-7.70/bundled/CPAN-Meta/CPAN/Meta/Prereqs.pm
ExtUtils-MakeMaker-7.70/bundled/CPAN-Meta/CPAN/Meta/Spec.pm
ExtUtils-MakeMaker-7.70/bundled/CPAN-Meta/CPAN/Meta/Converter.pm
ExtUtils-MakeMaker-7.70/bundled/CPAN-Meta/CPAN/Meta/Merge.pm
ExtUtils-MakeMaker-7.70/bundled/CPAN-Meta/CPAN/Meta/Validator.pm
ExtUtils-MakeMaker-7.70/bundled/CPAN-Meta/CPAN/Meta/Feature.pm
ExtUtils-MakeMaker-7.70/bundled/CPAN-Meta/CPAN/Meta/History.pm
ExtUtils-MakeMaker-7.70/bundled/Parse-CPAN-Meta/
ExtUtils-MakeMaker-7.70/bundled/Parse-CPAN-Meta/Parse/
ExtUtils-MakeMaker-7.70/bundled/Parse-CPAN-Meta/Parse/CPAN/
ExtUtils-MakeMaker-7.70/bundled/Parse-CPAN-Meta/Parse/CPAN/Meta.pm
ExtUtils-MakeMaker-7.70/bundled/CPAN-Meta-YAML/
ExtUtils-MakeMaker-7.70/bundled/CPAN-Meta-YAML/CPAN/
ExtUtils-MakeMaker-7.70/bundled/CPAN-Meta-YAML/CPAN/Meta/
ExtUtils-MakeMaker-7.70/bundled/CPAN-Meta-YAML/CPAN/Meta/YAML.pm
ExtUtils-MakeMaker-7.70/bundled/File-Temp/
ExtUtils-MakeMaker-7.70/bundled/File-Temp/File/
ExtUtils-MakeMaker-7.70/bundled/File-Temp/File/Temp.pm
ExtUtils-MakeMaker-7.70/bundled/ExtUtils-Manifest/
ExtUtils-MakeMaker-7.70/bundled/ExtUtils-Manifest/ExtUtils/
ExtUtils-MakeMaker-7.70/bundled/ExtUtils-Manifest/ExtUtils/Manifest.pm
ExtUtils-MakeMaker-7.70/bundled/ExtUtils-Manifest/ExtUtils/MANIFEST.SKIP
ExtUtils-MakeMaker-7.70/bundled/JSON-PP/
ExtUtils-MakeMaker-7.70/bundled/JSON-PP/JSON/
ExtUtils-MakeMaker-7.70/bundled/JSON-PP/JSON/PP.pm
ExtUtils-MakeMaker-7.70/bundled/JSON-PP/JSON/PP/
ExtUtils-MakeMaker-7.70/bundled/JSON-PP/JSON/PP/Boolean.pm
ExtUtils-MakeMaker-7.70/bundled/ExtUtils-Install/
ExtUtils-MakeMaker-7.70/bundled/ExtUtils-Install/ExtUtils/
ExtUtils-MakeMaker-7.70/bundled/ExtUtils-Install/ExtUtils/Install.pm
ExtUtils-MakeMaker-7.70/bundled/ExtUtils-Install/ExtUtils/Packlist.pm
ExtUtils-MakeMaker-7.70/bundled/ExtUtils-Install/ExtUtils/Installed.pm
ExtUtils-MakeMaker-7.70/bundled/Scalar-List-Utils/
ExtUtils-MakeMaker-7.70/bundled/Scalar-List-Utils/Scalar/
ExtUtils-MakeMaker-7.70/bundled/Scalar-List-Utils/Scalar/Util.pm
ExtUtils-MakeMaker-7.70/bundled/Scalar-List-Utils/Scalar/Util/
ExtUtils-MakeMaker-7.70/bundled/Scalar-List-Utils/Scalar/Util/PP.pm
ExtUtils-MakeMaker-7.70/bundled/Scalar-List-Utils/List/
ExtUtils-MakeMaker-7.70/bundled/Scalar-List-Utils/List/Util.pm
ExtUtils-MakeMaker-7.70/bundled/Scalar-List-Utils/List/Util/
ExtUtils-MakeMaker-7.70/bundled/Scalar-List-Utils/List/Util/PP.pm
ExtUtils-MakeMaker-7.70/bundled/README
ExtUtils-MakeMaker-7.70/bundled/CPAN-Meta-Requirements/
ExtUtils-MakeMaker-7.70/bundled/CPAN-Meta-Requirements/CPAN/
ExtUtils-MakeMaker-7.70/bundled/CPAN-Meta-Requirements/CPAN/Meta/
ExtUtils-MakeMaker-7.70/bundled/CPAN-Meta-Requirements/CPAN/Meta/Requirements.pm
ExtUtils-MakeMaker-7.70/META.json
ExtUtils-MakeMaker-7.70/README.packaging
ExtUtils-MakeMaker-7.70/MANIFEST
ExtUtils-MakeMaker-7.70/t/
ExtUtils-MakeMaker-7.70/t/unicode.t
ExtUtils-MakeMaker-7.70/t/fix_libs.t
ExtUtils-MakeMaker-7.70/t/META_for_testing.yml
ExtUtils-MakeMaker-7.70/t/miniperl.t
ExtUtils-MakeMaker-7.70/t/testdata/
ExtUtils-MakeMaker-7.70/t/testdata/reallylongdirectoryname/
ExtUtils-MakeMaker-7.70/t/testdata/reallylongdirectoryname/arch2/
ExtUtils-MakeMaker-7.70/t/testdata/reallylongdirectoryname/arch2/Config.pm
ExtUtils-MakeMaker-7.70/t/testdata/reallylongdirectoryname/arch1/
ExtUtils-MakeMaker-7.70/t/testdata/reallylongdirectoryname/arch1/Config.pm
ExtUtils-MakeMaker-7.70/t/installed_file.t
ExtUtils-MakeMaker-7.70/t/01perl_bugs.t
ExtUtils-MakeMaker-7.70/t/parse_abstract.t
ExtUtils-MakeMaker-7.70/t/testlib.t
ExtUtils-MakeMaker-7.70/t/test_boilerplate.t
ExtUtils-MakeMaker-7.70/t/metafile_data.t
ExtUtils-MakeMaker-7.70/t/Liblist.t
ExtUtils-MakeMaker-7.70/t/00compile.t
ExtUtils-MakeMaker-7.70/t/cd.t
ExtUtils-MakeMaker-7.70/t/eu_command.t
ExtUtils-MakeMaker-7.70/t/pm.t
ExtUtils-MakeMaker-7.70/t/META_for_testing.json
ExtUtils-MakeMaker-7.70/t/basic.t
ExtUtils-MakeMaker-7.70/t/dir_target.t
ExtUtils-MakeMaker-7.70/t/04-xs-rpath-darwin.t
ExtUtils-MakeMaker-7.70/t/MM_OS2.t
ExtUtils-MakeMaker-7.70/t/echo.t
ExtUtils-MakeMaker-7.70/t/MM_Unix.t
ExtUtils-MakeMaker-7.70/t/min_perl_version.t
ExtUtils-MakeMaker-7.70/t/metafile_file.t
ExtUtils-MakeMaker-7.70/t/parse_version.t
ExtUtils-MakeMaker-7.70/t/02-xsdynamic.t
ExtUtils-MakeMaker-7.70/t/MM_Cygwin.t
ExtUtils-MakeMaker-7.70/t/problems.t
ExtUtils-MakeMaker-7.70/t/postamble.t
ExtUtils-MakeMaker-7.70/t/FIRST_MAKEFILE.t
ExtUtils-MakeMaker-7.70/t/MM_Any.t
ExtUtils-MakeMaker-7.70/t/Mkbootstrap.t
ExtUtils-MakeMaker-7.70/t/META_for_testing_tricky_version.yml
ExtUtils-MakeMaker-7.70/t/make.t
ExtUtils-MakeMaker-7.70/t/several_authors.t
ExtUtils-MakeMaker-7.70/t/prompt.t
ExtUtils-MakeMaker-7.70/t/fixin.t
ExtUtils-MakeMaker-7.70/t/backwards.t
ExtUtils-MakeMaker-7.70/t/prereq_print.t
ExtUtils-MakeMaker-7.70/t/MM_VMS.t
ExtUtils-MakeMaker-7.70/t/revision.t
ExtUtils-MakeMaker-7.70/t/split_command.t
ExtUtils-MakeMaker-7.70/t/is_of_type.t
ExtUtils-MakeMaker-7.70/t/prereq.t
ExtUtils-MakeMaker-7.70/t/INST_PREFIX.t
ExtUtils-MakeMaker-7.70/t/cp.t
ExtUtils-MakeMaker-7.70/t/writemakefile_args.t
ExtUtils-MakeMaker-7.70/t/MM_NW5.t
ExtUtils-MakeMaker-7.70/t/pod2man.t
ExtUtils-MakeMaker-7.70/t/lib/
ExtUtils-MakeMaker-7.70/t/lib/Test/
ExtUtils-MakeMaker-7.70/t/lib/Test/Simple.pm
ExtUtils-MakeMaker-7.70/t/lib/Test/Builder/
ExtUtils-MakeMaker-7.70/t/lib/Test/Builder/Module.pm
ExtUtils-MakeMaker-7.70/t/lib/Test/Builder/IO/
ExtUtils-MakeMaker-7.70/t/lib/Test/Builder/IO/Scalar.pm
ExtUtils-MakeMaker-7.70/t/lib/Test/More.pm
ExtUtils-MakeMaker-7.70/t/lib/Test/Builder.pm
ExtUtils-MakeMaker-7.70/t/lib/TieOut.pm
ExtUtils-MakeMaker-7.70/t/lib/TieIn.pm
ExtUtils-MakeMaker-7.70/t/lib/MakeMaker/
ExtUtils-MakeMaker-7.70/t/lib/MakeMaker/Test/
ExtUtils-MakeMaker-7.70/t/lib/MakeMaker/Test/NoXS.pm
ExtUtils-MakeMaker-7.70/t/lib/MakeMaker/Test/Setup/
ExtUtils-MakeMaker-7.70/t/lib/MakeMaker/Test/Setup/XS.pm
ExtUtils-MakeMaker-7.70/t/lib/MakeMaker/Test/Setup/BFD.pm
ExtUtils-MakeMaker-7.70/t/lib/MakeMaker/Test/Utils.pm
ExtUtils-MakeMaker-7.70/t/arch_check.t
ExtUtils-MakeMaker-7.70/t/INST.t
ExtUtils-MakeMaker-7.70/t/Liblist_Kid.t
ExtUtils-MakeMaker-7.70/t/pm_to_blib.t
ExtUtils-MakeMaker-7.70/t/os_unsupported.t
ExtUtils-MakeMaker-7.70/t/maketext_filter.t
ExtUtils-MakeMaker-7.70/t/hints.t
ExtUtils-MakeMaker-7.70/t/config.t
ExtUtils-MakeMaker-7.70/t/recurs.t
ExtUtils-MakeMaker-7.70/t/prefixify.t
ExtUtils-MakeMaker-7.70/t/meta_convert.t
ExtUtils-MakeMaker-7.70/t/VERSION_FROM.t
ExtUtils-MakeMaker-7.70/t/MM_BeOS.t
ExtUtils-MakeMaker-7.70/t/MM_Win32.t
ExtUtils-MakeMaker-7.70/t/build_man.t
ExtUtils-MakeMaker-7.70/t/WriteEmptyMakefile.t
ExtUtils-MakeMaker-7.70/t/03-xsstatic.t
ExtUtils-MakeMaker-7.70/t/MakeMaker_Parameters.t
ExtUtils-MakeMaker-7.70/t/vstrings.t
ExtUtils-MakeMaker-7.70/t/PL_FILES.t
ExtUtils-MakeMaker-7.70/t/INSTALL_BASE.t
ExtUtils-MakeMaker-7.70/t/oneliner.t
ExtUtils-MakeMaker-7.70/INSTALL
ExtUtils-MakeMaker-7.70/Changes
ExtUtils-MakeMaker-7.70/MANIFEST.SKIP
ExtUtils-MakeMaker-7.70/CONTRIBUTING
ExtUtils-MakeMaker-7.70/lib/
ExtUtils-MakeMaker-7.70/lib/ExtUtils/
ExtUtils-MakeMaker-7.70/lib/ExtUtils/Command.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/Command/
ExtUtils-MakeMaker-7.70/lib/ExtUtils/Command/MM.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MM_Win95.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/Mkbootstrap.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MM_DOS.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MM_VOS.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MakeMaker.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/Liblist/
ExtUtils-MakeMaker-7.70/lib/ExtUtils/Liblist/Kid.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MM_OS390.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MM_VMS.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/Mksymlists.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MM_OS2.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MY.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MM_UWIN.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MM_NW5.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/Liblist.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MM_Win32.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MakeMaker/
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MakeMaker/Config.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MakeMaker/version.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MakeMaker/version/
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MakeMaker/version/regex.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MakeMaker/version/vpp.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MakeMaker/FAQ.pod
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MakeMaker/Tutorial.pod
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MakeMaker/Locale.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MM_BeOS.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MM_QNX.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MM_Unix.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MM_Any.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MM_MacOS.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/testlib.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MM.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MM_Darwin.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MM_AIX.pm
ExtUtils-MakeMaker-7.70/lib/ExtUtils/MM_Cygwin.pm
ExtUtils-MakeMaker-7.70/README
ExtUtils-MakeMaker-7.70/META.yml
ExtUtils-MakeMaker-7.70/Makefile.PL
Entering ExtUtils-MakeMaker-7.70
Checking configure dependencies from META.json
Running Makefile.PL
Warning: prerequisite Pod::Man 0 not found.
Configuring ExtUtils-MakeMaker-7.70 ... Using included version of CPAN::Meta (2.143240) because it is not already installed.
Using included version of CPAN::Meta::Requirements (2.131) because it is not already installed.
Using included version of CPAN::Meta::YAML (0.011) because it is not already installed.
Using included version of ExtUtils::Install (2.06) because it is not already installed.
Using included version of ExtUtils::Manifest (1.70) because it is not already installed.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for ExtUtils::MakeMaker
Writing MYMETA.yml and MYMETA.json
Can't locate ExtUtils/Manifest.pm in @INC (you may need to install the ExtUtils::Manifest module) (@INC entries checked: FatPacked::42949913[8](https://github.com/check-spelling-sandbox/strawberry-perl-cpanm-ExtUtils-Manifest/actions/runs/10420643358/job/28861062586#step:2:9)88=HASH(0xa0003ad20) /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl) at /c/Strawberry/perl/bin/cpanm line 11[9](https://github.com/check-spelling-sandbox/strawberry-perl-cpanm-ExtUtils-Manifest/actions/runs/10420643358/job/28861062586#step:2:10).
OK
https://github.com/actions/runner-images/blob/win22/20240811.1/images/windows/Windows2022-Readme.md
Perl 5.32.1
Both you and the reporter of the ExtUtils-Manifest issue aren't using Strawberry Perl.
There are unix-style paths in the log, which shows that you're using MSYS or Cygwin Perl. Likely the one that is bundled with Git for Windows.
PS. Switching from bash to PowerShell or cmd.exe might help. I don't remember how PATH is set up on GitHub Actions runners and I don't have tuits to test it.
PPS. I haven't tested it, but on GitHub actions marketplace there's an action that setups Perl automatically on various platforms, including Windows: https://github.com/marketplace/actions/setup-perl-environment
Hmm, indeed, it wasn't using strawberry perl
Here's a run where it is using strawberry perl -- it appears to die a bit later?
No, this is still not Strawberry Perl:
cpanm (App::cpanminus) 1.9019 on perl 5.038002 built for x86_64-msys-thread-multi
Also, the documentation of that action I linked says that using bash on Windows isn't supported.
Indeed, when I force things, strawberry perl actually works: https://github.com/check-spelling-sandbox/strawberry-perl-cpanm-ExtUtils-Manifest/actions/runs/10422133505