The perl recommend me to install ExtUtils::Manifest when I install ExtUtils::Manifest
Asked Answered
R

3

7

The perl recommend me to install ExtUtils::Manifest when I install ExtUtils::Manifest.

The os is Win10, and version of perl is strawberry-perl-5.24.4.1-64bit.msi.

The detail information I get is following:

>C:\Users\username>cpanm ExtUtils::Manifest
--> Working on ExtUtils::Manifest
Fetching http://www.cpan.org/authors/id/E/ET/ETHER/ExtUtils-Manifest-1.72.tar.gz ... OK
==> Found dependencies: ExtUtils::MakeMaker
--> Working on ExtUtils::MakeMaker
Fetching http://www.cpan.org/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.44.tar.gz ... OK
Configuring ExtUtils-MakeMaker-7.44 ... OK
Can't locate ExtUtils/Manifest.pm in @INC (you may need to install the ExtUtils::Manifest module) (@INC contains: FatPacked::25770454720=HASH(0x60009eec0) /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 119.
Rosenwald answered 2/4, 2020 at 6:17 Comment(5)
Can you go into the build directory and post your MYMETA.yml? cpanm --look ExtUtils::MakeMaker will put you into the build directory, There should also have been a log file mentioned after the build failed, could you post the relevant parts of that as well?Idolize
C:\Users\username>cpanm --look ExtUtils::MakeMaker --> Working on ExtUtils::MakeMaker Fetching cpan.org/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.44.tar.gz ... OK ! You don't seem to have a SHELL :/Rosenwald
Hmm. cpanm might work fully on Windows. It's also very fishy that your @INC (where Perl searches for installed modules) contains Unix paths like /usr/lib/perl5/site_perl. Do you, perhaps, have another Perl installed? Again, Strawberry Perl should already come with MakeMaker and ExtUtils::Manifest.Idolize
this is my first time to install Perl compiler Strawberry, and I check my applications. I have only one Perl compiler Strawberry.Rosenwald
And this is my first time to install perl compiler. Thank you.Rosenwald
B
4

Probably a bit too late on this, but just wanted to point out what @satbekmyrza posted in comments.

Please also double check that you're using PowerShell or default CMD on Windows. I was also using Git bash by default and system thought I was on linux. (Same errors with /usr/lib/perl5/site_perl and @INC) But it worked perfectly when I switch to windows-native terminals without fixing any PATHs etc.

Buckman answered 17/12, 2021 at 10:30 Comment(2)
funnily enough, this was my issue and using PowerShell fixed the issue for me.Emarie
same issue thanks! bet theres an env var you can set to fix thisPassade
I
3

ExtUtils::Manifest and ExtUtils::MakeMaker are both critical Perl build tools. They're normally bundled with Perl. They have a circular dependency, so MakeMaker bundles ExtUtils::Manifest and other modules in its source distribution. If you're lacking ExtUtils::Manifest, MakeMaker should have used its bundled version.

Looking at its build file, the only way it would have tried to install ExtUtils::Manifest as a dependency is if the BUILDING_AS_PACKAGE environment variable is set, or if the Makefile.PL is run with --release. Neither should be the case.

Check for that environment variable.

Idolize answered 2/4, 2020 at 6:40 Comment(12)
Does This way mean installing manually ExtUtils::MakeMaker module?Rosenwald
@Rosenwald A manual install would work. However you should already have MakeMaker with Strawberry Perl. First, look if the BUILDING_AS_PACKAGE environment variable is set.Idolize
C:\Users\peng.liu>perl -e 'use ExtUtils::MakeMaker' Can't locate ExtUtils/MakeMaker.pm in @INC (you may need to install the ExtUtils::MakeMaker module) (@INC contains: /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 -e line 1. BEGIN failed--compilation aborted at -e line 1.Rosenwald
The System variables of Strawberry Perl are: C:\Strawberry\c\bin, C:\Strawberry\perl\site\bin, C:\Strawberry\perl\bin. Is this ok? Thank you.Rosenwald
There are some problems in "Makefile" generated by "Makefile.PL" when I install manually the MakeMaker module.Rosenwald
@Rosenwald Those seem correct. I'll have to install Strawberry Perl to see if I can replicate your problem. It's possible that older version of Strawberry Perl has problems with Windows 10. Can you use a newer version?Idolize
@Rosenwald I did a clean install on Windows 10 and ExtUtils::Manifest installed fine, upgraded from 1.70 to 1.72. My @INC has only C:/Strawberry/perl directories. Sorry, I'm not sure what's going on, but those /usr/lib/perl5/site_perl Unix paths are very fishy. I'd recommend you uninstall, verify there's no other perl, and reinstall. Do you, perhaps, have any Unix utilities installed? Cygwin or Windows Subsystem For Linux?Idolize
I uninstall and reinstall the "strawberry-perl-5.30.2.1-64bit.msi". Unfortunately the @INC is still /usr/lib/perl5/site_perl. I am sure there is no other perl on my Windows os. But I am not sure whether there is a Unix utilities. The Cygwin and Wondows Subsystem for Lunix don't exist on my Windows os. Thank you.Rosenwald
@Rosenwald What does running perl -V say? Does it have the same @INC? Is it 5.30.2.1?Idolize
I have fixed the problem about "@INC" path. You remind me whether I have any Unix utilities installed. Finally I find that the Unix utilities is Git. I get the true "@INC" path and Perl can work when I delete the environment variables. Many thanks.Rosenwald
@Rosenwald Good to know! Glad you figured it out.Idolize
If for anybody the above solution does not work, try running your commands from Windows CMD instead of Git Bash.Interconnect
P
0

Thank you, patricxian and everyone who helped! Thus, my solution to exact same problem was removing git: Uninstalled "Strawberry Perl", "Git for Windows", and "Github Desktop"; reboot (it's Windoze!). Re-installed "Stawberry Perl". Brute Result: Perl works much better! (Also fixed unrelated(?) "cpan -l" issue I had.)

Photophilous answered 28/12, 2022 at 7:53 Comment(1)
Please don't add "thank you" as an answer. Once you have sufficient reputation, you will be able to vote up questions and answers that you found helpful. - From ReviewGargle

© 2022 - 2024 — McMap. All rights reserved.