Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Module Installation Trouble

by OxYgEn (Acolyte)
on Mar 04, 2004 at 01:07 UTC ( #333746=perlquestion: print w/replies, xml ) Need Help??
OxYgEn has asked for the wisdom of the Perl Monks concerning the following question:

I've read the entire module installation tutorial on perlmonks, and I still can't figure out how to get it to install one, mostly due to my stupidity, i think.
I have Windows XP Home and really I'm just messing around with PERL. I'm trying to install the Data::Serializer module. As was suggested in the tutorial, I downloaded CYGWIN(even though I can't stand BASH shells). Previously, I had used a program called ActivePerl to run my perl scripts. Here's what I did:

Downloaded the module to desktop from CPAN
Opened it with WinZip, and extracted it to C:\Perl\lib
Opened CYGWIN, changed to the directory, used perl
It told me that it had successfully installed it
I went to run my script(C:\ using ActivePerl, not CYGWIN, and I get the same error as when I had not installed the module. Here is the error if it helps:

Can't locate Data/ in @INC (@INC contains: C:/Perl/lib C:/Perl/site/lib .) at C:\ line 4.
BEGIN failed--compilation aborted at C:\ line 4.


Replies are listed 'Best First'.
Re: Module Installation Trouble
by esskar (Deacon) on Mar 04, 2004 at 04:29 UTC
    1. Using CYGWIN

    well, running perl Makefile.PL is not enough. this just builds the Makefile needed by your system to build the whole package using make.
    so after saying perl Makefile.PL, try to do the following
    make make test make install
    in that order and see what happens.

    2. Using ActivePerl

    As Roger said above, you could use ActiveState's ppm (Perl Package Manager) which is imho a better choice on win32 systems (since we are not used to building stuff on windows :) )
    doing just ppm install Data::Serializer is not always the best choice since there can be available multiple versions on multiple servers.
    so open a dos-box (start/run/cmd) and then start ppm
    use the command search to look up the version, so type ppm search Data::Serializer (or help search for assistance)

    Have fun!
Re: Module Installation Trouble
by Roger (Parson) on Mar 04, 2004 at 01:18 UTC
    With ActivePerl, go to command prompt and type:
    ppm install Data-Serializer

    That's all you have to do to install this module from ActiveState's PPM repository.

      Thank you very much, Roger. I didn't know about this command before. However, being as illiterate as I am with Windows(I had to make a reluctant switch from an Apple), I can't find out why it gives me this:

      C:\>ppm install data-serializer
      Installing package 'data-serializer'...
      Error installing package 'data-serializer': Could not locate a PPD file for pack age data-serializer

      I tried specifying the full filepath to Data-Serialzer-0.20.tar.gz, and tried just Data-Serializer-0.20 and I get the same thing.

      Please forgive my stupidity.
        Try again with case sensitive module name:
        ppm install Data-Serializer

        If this still doesn't work, it means you are behind a firewall and need to go through a proxy and need to setup the proxy environment variables.

        So one step at a time, try again with the command above.

Re: Module Installation Trouble
by bart (Canon) on Mar 04, 2004 at 22:33 UTC
    Opened CYGWIN, changed to the directory, used perl
    It told me that it had successfully installed it
    Urm... no, that's merely the first step. You still have to go through the make cycle. For Cygwin, use the make that comes with it. If you use ActivePerl or Indigoperl, you can use nmake, a free download (50k) from Microsoft. Now the steps are, in the directory the decompressed archive is in:
    perl Makefile.PL
    creates the makefile
    make or nmake
    builds/moves the module files into their final form and tree structure organisation (under blib in the same directory)
    make test or nmake test
    runs the test scripts (common: *.t files under the directory t) while temporarily adding the directories under blib, namely blib/lib and blib/arch, to @INC. This is necessary because the module isn't installed yet.
    make install or nmake install
    copies the file trees under blib to its final location, normally that's under site/lib. This is the actual final installation.

    Oh, and I tried it with Data::Serializer. It works well, without PPM.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://333746]
Approved by arden
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (6)
As of 2018-06-18 10:23 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (109 votes). Check out past polls.