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

Hi,

I am trying to install SOAP:Lite on a linux machine which sits behind a firewall that will only allow me to make requests of it, but will not allow that machine to make requests out.

Therefore I cannot use the CPAN installer stuff, as it sends requests for files to the internet.

I thus downloaded the SOAP Lite tarball from: http://search.cpan.org/~mkutter/SOAP-Lite-0.710.08/ . After untarring it I tried to run perl Makefile.PL, and I got the following error:
WARNING: LICENSE is not a known parameter. Warning: Prerequisite XML::Parser 2.23 not found. Warning: Prerequisite version 0 not found. 'LICENSE' is not a known MakeMaker parameter name. Could not eval ' package ExtUtils::MakeMaker::_version; no strict; local $VERSION; $VERSION=undef; do{ use version; $VERSION = qv('0.710.08'); ); $VERSION ' in lib/SOAP/Lite.pm: Can't locate version.pm in @INC (...)


But it still created the makefile, so I thought I would attempt to press on. I ran the command make, and it seemed to work alright. Then I ran make test, and it failed 23 of the 37 test scripts. Once again the majority of the errors were of the form "Can't locate version.pm".

I suppose my question is; where is version.pm located, if it exists, so that I can add it to my INC path? If this is not the problem, then what do I do to fix it? And otherwise, are there any other alternative methods of installing perl modules from behind a firewall?

I also tried to install XML::Parser first in order to fix that pre-requisite problem, but the version of XML::Parser that I downloaded from here: http://search.cpan.org/~msergeant/XML-Parser-2.36/Parser.pm , also will not install. In this case the call to perl Makefile.PL works fine, but when I try to run make I get errors of the following sort: "Expat.c:2609: error: ‘XML_Parser’ undeclared (first use in this function)". Also, and perhaps more troubling is this one: "Expat.xs:12:19: error: expat.h: No such file or directory". Am I just downloading from the wrong places or something?

Any help on how to get my install to work would be appreciated.
Cheers,

Shug

Replies are listed 'Best First'.
Re: Installing SOAP::Lite from behind a firewall
by almut (Canon) on Sep 16, 2009 at 23:53 UTC
    I suppose my question is; where is version.pm located

    In case of doubt, check CPAN :)  —> version

    Download the tarball and install using the same technique you tried with SOAP::Lite...

    Warning: Prerequisite XML::Parser 2.23 not found.

    ditto (in general) — though this one also has a dependency on an external C library: expat  which you need to install first...

    BTW, what Linux distro are you using?  Most distros have ready-built binary packages for libraries like expat and many common Perl modules like XML::Parser or SOAP::Lite. As long as you can download stuff, the firewall should be no hindrance getting them installed.

      This is the problem :-)
      I am trying to install SOAP:Lite on a linux machine which sits behind a firewall that will only allow me to make requests of it, but will not allow that machine to make requests out.
      No download access from this box. But working with the distro also seems the best to me.
        No download access from this box.

        Well, apparently, the OP somehow managed to get the SOAP::Lite tarball downloaded:

        I thus downloaded the SOAP Lite tarball from: http://search.cpan.org/~mkutter/SOAP-Lite-0.710.08/

        So... if it did work for one package/tarball, why not for another?  Maybe the OP should clarify...