Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Building a module from CPAN on a Win32 machine.

by Anonymous Monk
on Jan 12, 2013 at 13:16 UTC ( [id://1013036]=perlquestion: print w/replies, xml ) Need Help??

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hi Monks.

Ok. I uninstalled ActivePerl 5.14.1 then manually deleted the directory before I installed ActivePerl 5.16.2 on my Windows XP machine. My objective was (and is) to build several modules that are not available on the repository. When I drop into a 'cpan' shell and type:

cpan>install Statistics::R

...a message box appears that states The application failed to load because perl514.dll could not be found...

I don't know how to proceed from this point since I don't see how a module installed under version 5.14.1 could be present (assuming of course that's the problem).

Any ideas would be appreciated.

Replies are listed 'Best First'.
Re: Building a module from CPAN on a Win32 machine.
by dasgar (Priest) on Jan 12, 2013 at 14:45 UTC
    ...a message box appears that states The application failed to load because perl514.dll could not be found...

    Is that still the exact error message you get after moving to ActivePerl 5.16.2? If so, your uninstall and install didn't work too well. ActivePerl 5.16.2 shouldn't be looking for the perl514.dll file.

    As for installing modules directly from CPAN, ActivePerl does not fully support that right away after install. If you're using a 32-bit version of ActivePerl, use ppm to install mingw and dmake from ActiveState's repository and then you can install modules directly from CPAN. For 64-bit versions, I believe that there maybe a few more steps and gotchas, but it's been over a years since I last looked into that situation and I don't remember all of the details. If you're not needing the 64-bit features (i.e. 64-bit integers), I'd recommend sticking with 32-bit Perl since it works fine on both 32-bit and 64-bit Windows.

    In contrast, Strawberry Perl already comes with mingw and dmake installed. That means immediately after installing Strawberry Perl, you can start installing modules directly from CPAN.

      As for installing modules directly from CPAN, ActivePerl does not fully support that right away after install. If you're using a 32-bit version of ActivePerl, use ppm to install mingw and dmake from ActiveState's repository and then you can install modules directly from CPAN.
      Activestate fully supports installing modules from CPAN and has done so already for many years. The only "catch" was that modules that have XS-components and need some compilation failed to install. But that is only a minority of the modules available.

      Nowadays, ppm indeed allow you to install the necessary compilers and attendant tools.

      CountZero

      A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

      My blog: Imperial Deltronics
Re: Building a module from CPAN on a Win32 machine.
by syphilis (Archbishop) on Jan 12, 2013 at 14:09 UTC
    The application failed to load because perl514.dll could not be found

    I can only think that the command you ran (ie cpan>install Statistics::R) tried to fire up perl-5.14.

    What are the first few lines of response you get when you run cpan --help ?

    Cheers,
    Rob
Re: Building a module from CPAN on a Win32 machine.
by CountZero (Bishop) on Jan 12, 2013 at 19:52 UTC
    AFAIK, perl514.dll is called from perl.exe or perl5.14.1.exe or such.

    Search for perl*.exe on your harddisk and manually delete it.

    Then uninstall AS Perl 5.16.2 and re-install it. Make sure you have administrator rights when you do all of this.

    CountZero

    A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

    My blog: Imperial Deltronics

      But as fare as i remember ActivePerl installs normally in C:\Perl. All the stuff should be gone if deleting this folder... and that is what he did.

      Regards, Karl

      «The Crux of the Biscuit is the Apostrophe»

        But as fare as i remember ActivePerl installs normally in C:\Perl. All the stuff should be gone if deleting this folder... and that is what he did.
        "Normally" perhaps yes, but if all went "normally" she would not have experienced these problems.

        And I am not too sure everything is in "C:\Perl" (or whichever folder you choose at install-time). AS Perl does things to your Windows registry as well, your paths and file-associations and perhaps even adds things to your "Documents and Settings".

        Recently I had some problems with my AS Komodo IDE. Uninstalling and re-installing did not solve the problem, until I saw that "Documents and Settings" had several "Komodo" folders, which were not deleted by the uninstall. I deleted them manually and re-installed and now everything works again. Maybe AS Perl saves some settings in these folders as well.

        CountZero

        A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

        My blog: Imperial Deltronics
        ActivePerl installs normally in C:\Perl

        Yes, that's the default location, but the option to override that default and install some place else is also made available.

        All the stuff should be gone if deleting this folder... and that is what he did

        That's the great mystery. Perl-5.14, it's claimed, has been removed and replaced by perl-5.16 - yet the OP loads a perl.exe that needs perl514.dll. This just doesn't add up.
        (The fact that the OP hasn't replied to this thread suggests to me that the problem has already been resolved.)

        Update: Ooops ... seems she has responded, but provided no enlightenment.

        Cheers,
        Rob
        Hi Karl.

        I'm not a male but thanks. ;)
Re: Building a module from CPAN on a Win32 machine.
by tobyink (Canon) on Jan 12, 2013 at 13:24 UTC

    I don't know an awful lot about Perl on Windows. I do use ActivePerl on Windows from time to time, but only with fairly modest requirements in terms of CPAN modules.

    As I understand it, Strawberry Perl has a better reputation than Active Perl for building modules from CPAN.

    perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'
      As I understand it, Strawberry Perl has a better reputation than Active Perl for building modules from CPAN

      Yes, I think I agree that it has a better *reputation* ... but, while it's generally no worse, it's not really any better (IMO).

      Cheers,
      Rob
Re: Building a module from CPAN on a Win32 machine.
by karlgoethebier (Abbot) on Jan 13, 2013 at 14:25 UTC
Re: Building a module from CPAN on a Win32 machine.
by Anonymous Monk on Jan 13, 2013 at 02:17 UTC
Re: Building a module from CPAN on a Win32 machine.
by sundialsvc4 (Abbot) on Jan 13, 2013 at 21:40 UTC

    To echo the preceding post ... you should always, first, uninstall what you want to replace, doing it cleanly and with an uninstaller if possible.   Then, IMHO, you should reboot the machine.   Only now can you feel reasonably confident that nothing is lingering around in memory and so-on.   Now, install the new software.   If all that you do is to “delete the old directory,” there is unfortunately an excellent chance that many other critical things are not cleaned-up, e.g.: DLLs in Windows system-directories, and particularly, system registry entries.   (Windows, far more than Linux, is ruled by a central database ... the registry.   It is both a blessing and a curse.)

      To echo the preceding post ...

      echo off

        Thank you. For the best laugh I've had all week.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://1013036]
Approved by ww
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (7)
As of 2024-03-19 03:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found