Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re^2: can't find a module repository

by Sinistral (Prior)
on Dec 22, 2011 at 14:28 UTC ( #944790=note: print w/ replies, xml ) Need Help??


in reply to Re: can't find a module repository
in thread can't find a module repository

The OP specifically said (and you even reference) the fact that (s)he is using ActiveState Perl. This distribution uses binary packages put into PPM files for adding modules. Even though it includes an interface to CPAN, this is not useful because ActiveState does not distribute a make utility or a C compiler. Only Pure Perl modules will work with CPAN when using ActiveState, which is not a huge number. If you are on Windows and do want to use CPAN, most Monks recommend Strawberry Perl, which does include those necessary tools.


Comment on Re^2: can't find a module repository
Re^3: can't find a module repository
by Marshall (Prior) on Dec 24, 2011 at 01:23 UTC
    This is not entirely correct.

    Mingw (the Active State compatible C compiler) which comes with the make utility is a an Active State package which can be installed with PPM (Perl Package Manager) utility. There are some issues regarding 64 bit Perl and I haven't kept up with the details as I only have a 32 bit machine.

    A huge number of packages are available via PPM. I've found the Active State port to be very good, especially if you are on a Windows machine and need graphical stuff. They've done a lot of work to make this look pretty much like any other Windows application.

    So far I haven't needed any package that wasn't already available via one of the big repositories. The graphical version of PPM knows the common ones and makes it easy to search in them. Some of these repositories say that they'll consider requests for additional .ppd packages.

    Update:

    From another thread where I installed a module on an Active State Linux machine without root permission, Re: Getting a signal from iptables. Worked great as my compiler was gcc. I adjusted the tutorial a bit for this Linux system as explained, but no big problems.

    On a Windows system, building an Active State compatible module that will "work well and play with others" has to do with which memory management DLL that the C compiler links with. MSVCRT.DLL is the DLL that the Windows OS and Active State uses (this is where for example malloc() lives).

    GNU gcc and Visual C 6 will link with that library and that library is present on all Windows machines. Other C compilers(eg VS2008, VS2010) on MS Windows will link with their own compiler specific versions of this DLL and that causes problems. Mingw will link with MSVCRT.DLL.

    I strongly recommend that an Active State user not fiddle around with "raw CPAN" installs unless absolutely necessary (and that would be a "rare duck"). If you use the "Active State way" which uses pre-compiled .ppd files, and uses their PPM utility, all be ok and the HTML docs will get generated in the normal way.

    However, the tools that are required to do a build where a .ppd file is not available with Active State are there - at least for 32 bit Perl installations. And you can run 32 bit Perl on a 64 bit system.

    Active State has certain advantages for use in a professional Windows environment. Their tools to build .exe's are better and easier to use than say, pp. It costs a few hundred bucks for a development kit license, but that is a "no brainer" if you are working for a company.

    Another advantage of Active State is that it is easy to "clone" my environment. With ppm, I can generate what is essentially an XML file which shows the the modules that I have, where they were installed from... You just run Active State install to get Perl to start with. Then run one command, and your system will get all the modules that I've installed. I don't know how to do that with other versions of Perl. If you do, I'd like to hear about it.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://944790]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (8)
As of 2014-12-28 23:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (183 votes), past polls