I've recently looked into using the Perl API and had some trouble right at the beginning, when I needed to use some modules not included withing the standard Nimbus perl distribution. I thought I'd write a short post here detailing how I got these packages installed as I didn't find much in the way of documentation. Maybe someone can point out if I'm doing something wrong as well. These are for Linux, but probably work with windows too if you just adjust the paths.
The easy way: CPAN
Nimsoft's Perl includes cpan and cpanp (thankfully). It's pretty easy to install modules with cpan. This is cpan plus, which I prefer due to better logging.
You just need to make sure you refer to the correct one, as just typing "cpanp" would use the perl that shipped with your OS.
The harder way
For me, at least, installing SOAP::Lite from cpan to nimbus perl didn't work out with Ubuntu or Centos, so I had to do a little more work. With Centos it was enough to figure out the dependencies, but in Ubuntu I needed to build the modules from the files downloaded by cpan. You could of course just get the files from net, but using the one that cpanp tried to install was essential to me.
The log from failing cpanp install attempt tells you where it downloaded the tar. For me it was cd /root/.cpanplus/authors/id/M/MI/MIKEM/<module>, but the path varies based on the author and the module name.
In case the installation got far enough, you'll find the tarball extracted there, otherwise you'll need to do it yourself
/root/.cpanplus/authors/id/M/MI/MIKEM/ tar zxfv Net-SSLeay-1.55.tar.gz cd Net-SSLeay-1.55
For me it was nice to have it already extracted, as it had also made the Makefile, which contained all the Nimbus specific information. So I went and extracted that:
cat Makefile | grep nimsoft
Then I dropped a few lines that wouldn't work when making the "Makefile" again, and created it like this:
Perl Makefile.PL SITELIBEXP=/opt/nimsoft/perl/lib/site_perl/5.14.2 SITEARCHEXP=/opt/nimsoft/perl/lib/site_perl/5.14.2/x86_64-linux-thread-multi PERLPREFIX=/opt/nimsoft/perl SITEPREFIX=/opt/nimsoft/perl INSTALLPRIVLIB=/opt/nimsoft/perl/lib/5.14.2 INSTALLSITELIB=/opt/nimsoft/perl/lib/site_perl/5.14.2 INSTALLARCHLIB=/opt/nimsoft/perl/lib/5.14.2/x86_64-linux-thread-multi INSTALLSITEARCH=/opt/nimsoft/perl/lib/site_perl/5.14.2/x86_64-linux-thread-multi INSTALLBIN=/opt/nimsoft/perl/bin INSTALLSITEBIN=/opt/nimsoft/perl/bin INSTALLSCRIPT=/opt/nimsoft/perl/bin INSTALLSITESCRIPT=/opt/nimsoft/perl/bin INSTALLMAN1DIR=/opt/nimsoft/perl/man/man1 INSTALLSITEMAN1DIR=/opt/nimsoft/perl/man/man1 INSTALLMAN3DIR=/opt/nimsoft/perl/man/man3 INSTALLSITEMAN3DIR=/opt/nimsoft/perl/man/man3 PERL_ARCHLIB=/opt/nimsoft/perl/lib/5.14.2/x86_64-linux-thread-multi PERL_INC=/opt/nimsoft/perl/lib/5.14.2/x86_64-linux-thread-multi/CORE PERL=/opt/nimsoft/perl/bin/perl "-Iinc" FULLPERL=/opt/nimsoft/perl/bin/perl "-Iinc" MAKEMAKER=/opt/nimsoft/perl/lib/5.14.2/ExtUtils/MakeMaker.pm XSUBPPDIR=/opt/nimsoft/perl/lib/5.14.2/ExtUtils
I'm not sure if all this is needed as I built another module with far fewer parameters and it seems to work just fine. In that case I did set the basedir manually though, which is not done in the example above.
After that I just proceeded the normal way:
Make Make test Make install
Now the modules are working properly. Well, at least as far as I can tell