Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Installing new Perl Modules

by amitsq (Beadle)
on Aug 01, 2017 at 13:42 UTC ( [id://1196446]=perlquestion: print w/replies, xml ) Need Help??

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

I tried to install a certain package via the command line  cpan Bing::Translate which looked all fine till it terminated with the error  'The procedure entry point "Perl_suv_flags" was not found in the DLL "perl58.dll" '. Another module couldn't get installed either. I have activeState perl 32 bit installed on windows and it's probably an old version, because i can not find the ppm. What could i do?

Replies are listed 'Best First'.
Re: Installing new Perl Modules
by thanos1983 (Parson) on Aug 01, 2017 at 14:03 UTC
Re: Installing new Perl Modules
by dasgar (Priest) on Aug 01, 2017 at 22:29 UTC

    If you have an old version of ActivePerl installed, then the only way to get access to ActiveState's PPM repository will be to purchase support from them. Depending on your situation, that support price tag might not be an appealing option.

    Here's a few other options that might work:

    • If you have a compiler and make utility that is compatible with what ActiveState used, you should be able to install directly from CPAN. (For some versions of ActivePerl, you could install MinGW and dmake from ActiveState's PPM repository. But if you don't have access, this idea might not work.)
    • You could check to see if there are other PPM repositories that might have the modules that you're interested in. Unfortunately the two that I know of (the Bribes repository and syphilis' repository does not have the module listed in your OP.)
    • As sweetblood suggested, you might want to consider checking out Strawberry Perl, which offers a portable version that does not need to be "installed". (Or to take it a step further, you can check out berrybrew that stevieb has been working on. It leverages portable editions of Strawberry Perl to help you "install" and manage multiple versions of Perl.)

    Another idea is to check out a newer version of ActivePerl. A few months ago, ActiveState announced their intention to move away from their custom package managers for the language distributions (such as PPM for ActivePerl). (Read here for more details.)

Re: Installing new Perl Modules
by syphilis (Archbishop) on Aug 02, 2017 at 02:27 UTC
    'The procedure entry point "Perl_suv_flags" was not found in the DLL "perl58.dll" '

    The immediate thought is that "cpan" must be using a different perl to the one that's first in the path.
    Are you sure there's no other perl on your system ?

    Another odd thing is that I can't find Perl_suv_flags in any Windows perl dlls. Is that a copy'n'paste of the actual error message or could you have made a typo ?

    Cheers,
    Rob
Re: Installing new Perl Modules
by Laurent_R (Canon) on Aug 01, 2017 at 14:28 UTC
    It has been quite a long since I last used ActiveState Perl, so I may be wrong, but I think you might have to look at the ppm command (rather than cpan) to install modules on Active State.

    Now, it also seems that you have a very old version of Perl, I do not know how well ActiveState would support such an old version.

      I may be wrong, but I think you might have to look at the ppm command (rather than cpan) to install modules on Active State.

      That's not quite true. In short, it is possible to install modules directly from CPAN using ActivePerl.

      The first hurdle of using Perl on Windows is that Windows does not include a compiler (and related tools) with the OS. So ActiveState's approach was to create a repository of precompiled Perl modules that could be installed on a Windows system that didn't have the required compiler components to build directly from CPAN. The drawback was that their repositories did not include all modules in CPAN and it usually did not have the latest versions of modules (unless a module's latest version had been out for a few years with no updates). But it did get around the issue of not having a compiler.

      If you had a compiler (and related tools, such as make) that was compatible with what ActiveState used to build their ActivePerl, you could use that to install modules directly from CPAN. At some point ActiveState did offer MinGW and dmake PPM modules to help with this capability (And I believe I had seen some claim that ActivePerl came with everything needed to install modules directly from CPAN, but I don't recall seeing that in my personal experience). I have used that route for 32-bit ActivePerl. I don't know all of the caveats, but I think the steps were a bit more trickier to do this with 64-bit ActivePerl. (Never tried it or researched much into it. Using 32-bit Perl was good enough for my needs at that time.)

      A few months ago, ActiveState announced in a blog post that they were going to move away from maintaining their own repositories for their language distributions and would instead ensure that their distributions included the tools needed to install directly from the community repositories. For their ActivePerl distributions, that would mean support out of the box for installing modules directly from CPAN.

      For comparison, the team behind Strawberry Perl took a different route to the compiler challenge on Windows. They decided to include the compiler and related tools needed to install modules directly from CPAN. And, at least with the newer versions of Strawberry Perl, they do include the cpanm utility too. And, although I personally have not used it, I believe that Strawberry Perl also includes the PPM client for those who wish to go that route for installing modules.

Re: Installing new Perl Modules
by sweetblood (Prior) on Aug 01, 2017 at 20:51 UTC
    Unless this is a production machine, I would download strawberry Perl, latest version and go from there. I have not been very happy with activestate perl for sometime.

    Sweetblood

      I actually get this in private conversations a fair bit lately. The primary reason I hear for its use when other options are being tossed around is that its due to being a corporate setting, where C-level-type folks want something that they have to pay for, because that seems more legitimate. These are organizations that often don't employ any Open Source software (that they're aware of), and a purchase constitutes quality and support.

      That said, the majority of the issues crop up because those same people forgo any updates, because that actually hits their budgets, so lower-level staff have to do things like OP is trying to do, and work around these types of legacy issues, which, in (pulling random statistic out of my ass) many cases causes even worse problems in the future until eventually, something needs to be done at a very large scale to rectify all of the custom nonsense, offsetting any perceived 'value' that may have been had when signing an agreement/purchase order.

      Fun stuff.

      ps. I've never actually used Active State, so I can't say whether it's good or bad. That said, proprietary package manager for Perl? Yeah, no. Seems like a direct vendor lock-in for no tangible benefit at all.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (None)
    As of 2024-04-25 04:00 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      No recent polls found