stack1
stack1

Reputation: 1022

Unable to install Time:Piece module with cpan

I need to install the Time::Piece module in Perl. It's not there for some reason. When I use

cpan install Time::Piece

after some successful steps I get the error below

.....
Checking if your kit is complete...
Looks good
Unable to find a perl 5 (by these names: "My windows path variable contents here...i think"
Writing Makefile for Time::Piece
'nmake' is not recognized as an internal or external command,
operable program or batch file.
  RJBS/Time-Piece-1.29.tar.gz
  nmake -- NOT OK
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible
Failed during this command:
 RJBS/Time-Piece-1.29.tar.gz                  : make NO

cpan[2]>

Why is this happening ? Please help me to fix it.


I'll wait for an answer while I try to fix it myself. First problem -

'nmake' is not recognized as an internal or external command, operable program or batch file.

I used this solution

Windows 7 Control Panel, Programs and Features, Select Microsoft Visual Studio 2008 Standard or Professional Edition application then choose Uninstall/Change/Modify. This will bring you into Maintenance Mode. Select C++ then check X64 Compilers and Tools.

I had Visual Studio Express and Visual Studio Professional 2013 (I don't remember how or why it's there on my system.) I followed the above instructions. The options were different: one had C++ mentioned in it - Microsoft Visual C++ 2013 Microsoft Foundation Class Libraries. So, I chose that one. Its a 600MB download and install.

I went to C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin and found nmake there. If you don't find it there, then you might find in Microsoft Visual Studio 10, 11 etc. Look for nmake there. Add the path for nmake to the PATH environment variable.

Now, I get a new error

NMAKE : fatal error U1073: don't know how to make 'C:/Program'
Stop.
  RJBS/Time-Piece-1.29.tar.gz
  nmake -- NOT OK
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible
Failed during this command:
 RJBS/Time-Piece-1.29.tar.gz                  : make NO

cpan[2]>

I'll try to fix this one too. By the way, @ikegami told me that installing to a path with no spaces (C:\progs\...) will solve my problem. I cannot install to another directory:

This version of Perl comes bundled with other software which must install to the folder "C:\Program Files (x86)" which has a space in it. The software needs to be in that path for some other things to work correctly. Is there a simple way to edit the code which is trying to install the modules? I could make it parse the path by changing some code. I am new to Perl though. Not sure if I'll be able to change without causing harm .

EDIT -

I have both Active state perl 5.1.2 and perl 5.8 which are used by tool x and tool y (electric commander). Tool y has its own perl libraries which must be used in my code. So I am stuck with perl 5.8.

I just came to know this is due to issues with tool y. There is a workaround for this, but I am not able to understand it. Can you please help me to understand the workaround for windows ?

https://electriccloud.zendesk.com/hc/en-us/articles/202828073-KBEC-00180-Installing-Perl-modules-into-the-Commander-Perl-distribution

Upvotes: 2

Views: 1988

Answers (1)

Dave Cross
Dave Cross

Reputation: 69314

Which version of Perl are you running? what do you get if you run "perl -v" at a command prompt?

If the version number you get is 5.10 or higher, then Time::Piece should already be included with that version of Perl. If it's not, then your installation is broken in interesting ways and you should probably reinstall it from scratch.

If the version number you get is lower than 5.10 then you have a painfully old version of Perl installed and your best approach will be to upgrade to a newer version.

Upvotes: 2

Related Questions