cpan installs broken when using Berrybrew and Strawberry Perl on Windows - perl

I think this might be an issue w/ having had Strawberry Perl and Berrybrew on the same system.
I had Strawberry Perl installed, and then installed Berrybrew and uninstalled Strawberry Perl.
At that point Berrybrew on Windows worked for me, but when I try to install CPAN modules it didn't. I get the same type of error for multiple CPAN modules. Below is an example. This is using my 5.26.1_64 install with Berrybrew.
I think it is looking for Strawberry Perl's gmake.
cpan[1]> install Log::Log4perl
Reading 'C:\Users\me\.cpan\Metadata'
Database was generated on Thu, 03 May 2018 13:54:25 GMT
Running install for module 'Log::Log4perl'
Fetching with LWP:
http://www.cpan.org/authors/id/M/MS/MSCHILLI/Log-Log4perl-1.49.tar.gz
Fetching with LWP:
http://www.cpan.org/authors/id/M/MS/MSCHILLI/CHECKSUMS
Checksum for C:\Users\me\.cpan\sources\authors\id\M\MS\MSCHILLI\Log-Log4perl-1.49.tar.gz ok
Scanning cache C:\Users\me\.cpan\build for sizes
............................................................................DONE
Configuring M/MS/MSCHILLI/Log-Log4perl-1.49.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a gmake-style Makefile
Writing Makefile for Log::Log4perl
Writing MYMETA.yml and MYMETA.json
MSCHILLI/Log-Log4perl-1.49.tar.gz
C:\berrybrew\5.26.1_64\perl\bin\perl.exe Makefile.PL INSTALLDIRS=site -- OK
Running make for M/MS/MSCHILLI/Log-Log4perl-1.49.tar.gz
The system cannot find the path specified.
MSCHILLI/Log-Log4perl-1.49.tar.gz
C:\Strawberry\c\bin\gmake.EXE -- NOT OK
Failed during this command:
MSCHILLI/Log-Log4perl-1.49.tar.gz : make NO
Then I reinstalled Strawberry Perl on my system, and installing Log::Log4perl worked (installed it for Strawberry Perl, of course). It did fail one test, but I think that's unrelated.
Now that I realized the issue is that it is looking for Strawberry Perl's gmake, I figured maybe it would work now that I have Strawberry Perl again. But now I can't turn Berrybrew on again. I had turned it off with berrybrew off and now I want to turn it on again with this:
> berrybrew use 5.26.1_64
perl-5.26.1_64
==============
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
<berrybrew use 5.26.1_64>: run "exit" leave this environment
That's a pretty strange message. The command does not have an effect.
Any ideas how I can get Berrybrew working again and tell it to use a better version of gmake (not tied to Strawberry Perl)?

Related

INSTALL_BASE=~/perl5 -- NOT OK - While installing Perl Module

I am trying to install one of the Perl module in my local system (Windows 7). But its failing to install the module
Here is what its displaying
C:\Windows\system32>perl -MCPAN -e "install Net::SFTP"
Reading 'C:\Users\AppData\Local\.cpan\Metadata'
Database was generated on Sun, 26 May 2019 05:17:03 GMT
Running install for module 'Net::SFTP'
Checksum for C:\Users\AppData\Local\.cpan\sources\authors\id\L\LK\LKINLE
Y\Net-SFTP-0.12.tar.gz ok
Configuring L/LK/LKINLEY/Net-SFTP-0.12.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Warning: prerequisite Math::Int64 0.54 not found.
Warning: prerequisite Net::SSH::Perl 2.12 not found.
The getpwuid function is unimplemented at C:/Perl64/lib/ExtUtils/MakeMaker.pm li
ne 1064.
Warning: No success on command[C:\Perl64\bin\perl.exe Makefile.PL INSTALL_BASE=~
/perl5]
LKINLEY/Net-SFTP-0.12.tar.gz
C:\Perl64\bin\perl.exe Makefile.PL INSTALL_BASE=~/perl5 -- NOT OK
It was working fine before and I have installed couple of modules, don't know what happens suddenly.
Please help me to resolve this. Do I need to make any modifications in config?
You're telling Perl to into ~/perl5. That's not a Windows path, and ExtUtils::MakeMaker is using a unix-specific function (getpwuid) to expand it. Your problem should go away if you use a Windows path.
That said, if you have access to write to C:\Perl64\..., I suggest that you install modules to the default directory by removing INSTALL_BASE=~/perl5.
If you don't have access to write to C:\Perl64\..., I suggest that you install Perl itself in a directly to which you do have access to write, and then I'd install modules to the default directory by removing INSTALL_BASE=~/perl5.
Since you didn't actually specify INSTALL_BASE=~/perl5 on the command line, you are specifying it through the environment (PERL_MM_OPT and PERL_MB_OPT), or in cpan's configuration (o conf from within cpan).

NET::SSH::Expect configurations to work over windows

Machine details : Windows7 , 64-bits.
I integrated perl in eclipse and used Net::SSH::Except module for scripting, but am getting an error as Can't locate Net/SSH/Expect.pm in #INC (you may need to install the Net::SSH::Expect
module) (#INC contains: C:/Perl64/site/lib/MSWin32-x64-multi-thread C:/Perl64/site/lib
C:/Perl64/lib .)
Therefore, Am trying to install IO::Tty for Expect dependency, using command cpan>notest install IO::Tty.
i am getting the following error message :
and the module is not being installed, even the NET::SSH::Expect not getting installed.
cpan> notest install IO::Tty
Reading 'C:\Perl64\cpan\Metadata'
Database was generated on Mon, 11 Dec 2017 04:41:02 GMT
Fetching with LWP:
http://ppm.activestate.com/CPAN/authors/01mailrc.txt.gz
Reading 'C:\Perl64\cpan\sources\authors\01mailrc.txt.gz'
.............................................................DONE
Fetching with LWP:
http://ppm.activestate.com/CPAN/modules/02packages.details.txt.gz
Reading 'C:\Perl64\cpan\sources\modules\02packages.details.txt.gz'
Database was generated on Tue, 12 Dec 2017 04:29:02 GMT
.............
**New CPAN.pm version (v2.16) available.
[Currently running version is v2.1101]
You might want to try
install CPAN
reload cpan
to both upgrade CPAN.pm and run the new version without leaving
the current session.**
..............................................................DONE
Fetching with LWP:
http://ppm.activestate.com/CPAN/modules/03modlist.data.gz
Reading 'C:\Perl64\cpan\sources\modules\03modlist.data.gz'
DONE
Writing C:\Perl64\cpan\Metadata
Running install for module 'IO::Tty'
Checksum for C:\Perl64\cpan\sources\authors\id\T\TO\TODDR\IO-Tty-1.12.tar.gz
ok
Scanning cache C:\Perl64/cpan/build for sizes
...............................................................DONE
IO-Tty-1.12/
IO-Tty-1.12/ChangeLog
IO-Tty-1.12/Makefile.PL
IO-Tty-1.12/MANIFEST
IO-Tty-1.12/META.json
IO-Tty-1.12/META.yml
IO-Tty-1.12/Pty.pm
IO-Tty-1.12/README
IO-Tty-1.12/t/
IO-Tty-1.12/try
IO-Tty-1.12/Tty.pm
IO-Tty-1.12/Tty.xs
IO-Tty-1.12/t/test.t
Configuring T/TO/TODDR/IO-Tty-1.12.tar.gz with Makefile.PL
This module requires a POSIX compliant system to work. Try cygwin if you
need this module on windows OS unsupported at Makefile.PL line 6.
Warning: No success on command[C:\Perl64\bin\perl.exe Makefile.PL
INSTALLDIRS=site]
TODDR/IO-Tty-1.12.tar.gz
C:\Perl64\bin\perl.exe Makefile.PL INSTALLDIRS=site -- NOT OK
Failed during this command:
TODDR/IO-Tty-1.12.tar.gz : writemakefile NO
'C:\Perl64\bin\
perl.exe Makefile.PL INSTALLDIRS=site' returned status 65280
i have tried installed IO::Tty with following command
cpanm --install IO::Tty
cpanm --verbose IO::Tty
cpanm --force IO::Tty
all failing , this may be due to the lower version of the perl.
what is the command to upgrade cpan from cmd and also perl through cmd?
Sadly the Perl Expect module requires a UNIX based OS to function. I have implemented this a few times on a windows platform and basically you need to install an older ActiveState distribution of TCL, then you can have the Perl script call an external EXPECT script, like this:
$expectOutput = `[path_to_expect_script.expect]`;
Your variable will then contain the output of the Expect script.
Hope this helps!
Edit: You may like to reword your title to attract more answers relating to using expect on windows.
Solved!
the new version of Expect is made compatible with the windows, but it need to be installed with cygwin ..
In eclipse , make interpreter as cygwin (windows -> preference -> EPIC Perl -> interpreter).
and execute the script:)

Why CPAN.pm install Moose when I only wanted Mo?

I have the need for a lightweight object system in a perl5 script. After reading the documentation for Mouse.pm, Moo.pm and Mo.pm, I was tossing up between Moo and Mo. The deciding factor in the end was that the Mo module has no dependencies (see right-hand side of page - "DEPENDENCIES" is grey out).
So, I go ahead with what I thought would be a simple install:
User#Ubuntu-iMac:~$ perl -MCPAN -e shell
Terminal does not support AddHistory.
cpan shell -- CPAN exploration and modules installation (v2.05)
Enter 'h' for help.
cpan[1]> Terminal does not support GetHistory.
Lockfile removed.
User#Ubuntu-iMac:~$ sudo perl -MCPAN -e shell
[sudo] password for User:
Terminal does not support AddHistory.
cpan shell -- CPAN exploration and modules installation (v2.05)
Enter 'h' for help.
cpan[1]> install Mo
Reading '/home/User/.cpan/Metadata'
Database was generated on Tue, 23 Feb 2016 02:17:02 GMT
Running install for module 'Mo'
Fetching with LWP:
http://www.cpan.org/authors/id/I/IN/INGY/Mo-0.39.tar.gz
Checksum for /home/User/.cpan/sources/authors/id/I/IN/INGY/Mo-0.39.tar.gz ok
Scanning cache /home/User/.cpan/build for sizes
............................................................................DONE
Configuring I/IN/INGY/Mo-0.39.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Mo
Writing MYMETA.yml and MYMETA.json
INGY/Mo-0.39.tar.gz
/usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for I/IN/INGY/Mo-0.39.tar.gz
---- Unsatisfied dependencies detected during ----
---- INGY/Mo-0.39.tar.gz ----
Moose [requires,optional]
IO::All [requires,optional]
Mouse [requires,optional]
... many lines of installation of dozens of modules deleted ...
So my question is - why did it think it needed Mouse, IO::All and, most painfull of all, Moose? Note I can see it says [requires,optional] - but I thought those two terms were contradictory.

Cannot install GD module on darwin 13.0.1 using cpan

I'm having a tough job trying to get GD installed. I'm running a Mas OSX 10.9.2 darwin 13.0.1
When I run this:
cpan[1]> install GD
perl -MCPAN -e shell
I get the follwing error:
cpan[1]> install GD
Reading '/Users/me/.cpan/Metadata'
Database was generated on Sun, 21 Dec 2014 18:53:17 GMT
Running install for module 'GD'
Running make for L/LD/LDS/GD-2.56.tar.gz
Checksum for /Users/me/.cpan/sources/authors/id/L/LD/LDS/GD-2.56.tar.gz ok
Scanning cache /Users/me/.cpan/build for sizes
............................................................................DONE
CPAN.pm: Building L/LD/LDS/GD-2.56.tar.gz
Configuring for libgd version 2.0.11.
Checking for stray libgd header files...none found.
GD library used from: /usr/local
Please choose the features that match how libgd was built:
Undefined subroutine &main::prompt called at Build.PL line 169.
Warning: No success on command[/usr/bin/perl Build.PL ]
'YAML' not installed, will not store persistent state
LDS/GD-2.56.tar.gz
/usr/bin/perl Build.PL -- NOT OK
Running Build test
Make had some problems, won't test
Running Build install
Make had some problems, won't install
Could not read metadata file. Falling back to other methods to determine prerequisites
Failed during this command:
LDS/GD-2.56.tar.gz : writemakefile NO '/usr/bin/perl Build.PL ' returned status 512
Build.PL is trying to call a function called prompt but it doesn't exist. This is because they recently switched build systems from ExtUtils::MakeMaker (Makefile.PL) to Module::Build (Build.PL) but didn't fully convert the program. I've reported the bug.
Most people don't notice this because the prompting is only necessary if GD can't configure itself. It does this by looking for the gdlib-config program. If that can't be found, or it doesn't work, it will ask you for your gdlib configuration. It's best to let gdlib-config take care of that. Best way to solve this problem is to make sure gdlib-config is somewhere in your PATH and that gdlib-config --all works.
Otherwise replace all the instances of prompt in Build.PL with Module::Build->prompt and it should work.
I'm not sure about doing this on OSX, but I recently had similar problems with installing CPAN modules on CentOS.
Some prerequisite modules simply wouldn't install properly from CPAN. These modules had RPMs available. After installing some of the prerequisites via yum, I was able to get CPAN to install the modules I needed.
In particular, I had to install Module-Build and Archive-Tar (which brought in a number of other dependency rpm's) using yum.
Hope this helps.

WWW::Mechanize::Firefox - installation-troubles on OpenSuse-Linux version 12.1

good day dear fellow perl-programmers.
i have serious install-troubles with WWW::Mechanize::Firefox on OpenSuse 12.1 (which is a linux system that is used here in Europe): see the issues that i noticed in the command-line:
cpan shell -- CPAN exploration and modules installation (v1.960001)
Enter 'h' for help.
cpan[1]> install WWW::Mechanize::Firefox;
Fetching with HTTP::Tiny:
http://artfiles.org/cpan.org/authors/01mailrc.txt.gz
Going to read '/root/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Fetching with HTTP::Tiny:
http://artfiles.org/cpan.org/modules/02packages.details.txt.gz
Going to read '/root/.cpan/sources/modules/02packages.details.txt.gz'
Database was generated on Thu, 09 Feb 2012 23:13:21 GMT
HTTP::Date not available
..............
New CPAN.pm version (v1.9800) available.
[Currently running version is v1.960001]
You might want to try
install CPAN
reload cpan
to both upgrade CPAN.pm and run the new version without leaving
the current session.
..............................................................DONE
Fetching with HTTP::Tiny:
http://artfiles.org/cpan.org/modules/03modlist.data.gz
Going to read '/root/.cpan/sources/modules/03modlist.data.gz'
............................................................................DONE
Going to write /root/.cpan/Metadata
Warning: Cannot install WWW::Mechanize::Firefox;, don't know what it is.
Try the command
i /WWW::Mechanize::Firefox;/
to find objects with matching identifiers.
well - what does the programme want to tell me?
i am a bit lost
btw what does that mean: do i also need to install mozRepl
update see tbe update - what do ya think?
cpan[2]> ^Cinstall WWW::Mechanize::Firefox
Caught SIGINT, trying to continue
Running install for module 'WWW::Mechanize::Firefox'
Running make for C/CO/CORION/WWW-Mechanize-Firefox-0.58.tar.gz
Giving up on '/root/.cpan/sources/authors/id/C/CO/CORION/WWW-Mechanize-Firefox-0.58.tar.gz'
Note: Current database in memory was generated on Thu, 09 Feb 2012 23:13:21 GMT
cpan[3]>
You are using the system Perl. Install from the standard repository or devel:languages:perl first.
sudo zypper install perl-WWW-Mechanize
Fall back to CPAN if the module is not packaged yet.
MozRepl. Use a search engine next time for such a basic thing.
Yes; that is the correct way to install a module using the cpan script. The important lines are:
⁝
/usr/bin/make -- OK
⁝
/usr/bin/make test -- OK
⁝
/usr/bin/make install -- OK
They state that make, make test and make install ran successfully.