Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

can't find a module repository

by rodrb (Initiate)
on Dec 21, 2011 at 20:17 UTC ( #944695=perlquestion: print w/ replies, xml ) Need Help??
rodrb has asked for the wisdom of the Perl Monks concerning the following question:

i've installed active perl 5.14.2. i need to use use RPC::XML::Client; However i can't find a repository for PPM that has this module. What do i need to do? I have been able to resolve this. Might not have been the most correct solution, but, i copied the module from a previous install.

Comment on can't find a module repository
Re: can't find a module repository
by keszler (Priest) on Dec 21, 2011 at 20:29 UTC
Re: can't find a module repository
by Sewi (Friar) on Dec 22, 2011 at 05:39 UTC
    Perl usually contains a CPAN client which is used to install modules. You could use third-party-packed-modules, but might not get the newest version of a CPAN module.
    Look through the ActivePerl start menu options for a CPAN client, I'm pretty sure there is one. If it's a command line (text) client, just type "install RPC::XML::Client" to get your module.
    CPAN not only knows about (and handles) dependencies, but also knows which other modules life in any downloadable module and selects the right one.

      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.

        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: perlquestion [id://944695]
Approved by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (8)
As of 2014-08-28 02:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (255 votes), past polls