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

Hello monks,

I have a working Apache2 system, however am using a prefork version, due to the fact that I'm using relies on Net::SSH::Perl. This has Math::Pari as a dependency, and therefore is not threadsafe.

As it would be great to use the threaded implementation of Apache2, I was wondering is anyone aware of a module to replace Net::SSH::Perl that does not make use of Math::Pari (as this is not threadsafe)?

Thanks!

Replies are listed 'Best First'.
Re: Threadsafe Net::SSH::Perl alternative
by zentara (Cardinal) on Jan 18, 2008 at 14:40 UTC
      I've spent some time trying to install the Net::SSH2, but I keep getting this problem - not sure what's going on here, and google wasn't much help for me - any help please?
      cpan> install Net::SSH2 CPAN: Storable loaded ok Going to read /home/darius/.cpan/Metadata Database was generated on Fri, 18 Jan 2008 05:38:15 GMT Running install for module Net::SSH2 Running make for D/DB/DBROBINS/Net-SSH2-0.18.tar.gz CPAN: Digest::MD5 loaded ok CPAN: Compress::Zlib loaded ok Checksum for /home/darius/.cpan/sources/authors/id/D/DB/DBROBINS/Net-S +SH2-0.18.tar.gz ok Scanning cache /home/darius/.cpan/build for sizes Net-SSH2-0.18/ Net-SSH2-0.18/META.yml Net-SSH2-0.18/t/ Net-SSH2-0.18/t/Net-SSH2.t Net-SSH2-0.18/SSH2.xs Net-SSH2-0.18/README Net-SSH2-0.18/example/ Net-SSH2-0.18/example/read.pl Net-SSH2-0.18/MANIFEST Net-SSH2-0.18/typemap Net-SSH2-0.18/ppport.h Net-SSH2-0.18/fallback/ Net-SSH2-0.18/fallback/const-c.inc Net-SSH2-0.18/fallback/const-xs.inc Net-SSH2-0.18/Changes Net-SSH2-0.18/Makefile.PL Net-SSH2-0.18/lib/ Net-SSH2-0.18/lib/Net/ Net-SSH2-0.18/lib/Net/SSH2/ Net-SSH2-0.18/lib/Net/SSH2/Dir.pm Net-SSH2-0.18/lib/Net/SSH2/Listener.pm Net-SSH2-0.18/lib/Net/SSH2/SFTP.pm Net-SSH2-0.18/lib/Net/SSH2/Channel.pm Net-SSH2-0.18/lib/Net/SSH2/PublicKey.pm Net-SSH2-0.18/lib/Net/SSH2/File.pm Net-SSH2-0.18/lib/Net/SSH2.pm Removing previously used /home/darius/.cpan/build/Net-SSH2-0.18 CPAN.pm: Going to build D/DB/DBROBINS/Net-SSH2-0.18.tar.gz Net::SSH2: using library -L/usr/lib -lssh2 and include path -I/usr/inc +lude. Checking if your kit is complete... Looks good Writing Makefile for Net::SSH2 cp lib/Net/SSH2/File.pm blib/lib/Net/SSH2/File.pm cp lib/Net/SSH2/Dir.pm blib/lib/Net/SSH2/Dir.pm cp lib/Net/SSH2/PublicKey.pm blib/lib/Net/SSH2/PublicKey.pm cp lib/Net/SSH2/SFTP.pm blib/lib/Net/SSH2/SFTP.pm cp lib/Net/SSH2/Listener.pm blib/lib/Net/SSH2/Listener.pm cp lib/Net/SSH2/Channel.pm blib/lib/Net/SSH2/Channel.pm cp lib/Net/SSH2.pm blib/lib/Net/SSH2.pm AutoSplitting blib/lib/Net/SSH2.pm (blib/lib/auto/Net/SSH2) /usr/bin/perl /usr/share/perl5/ExtUtils/xsubpp -typemap /usr/share/pe +rl/5.8/ExtUtils/typemap -typemap typemap SSH2.xs > SSH2.xsc && mv SS +H2.xsc SSH2.c cc -c -I/usr/include -I. -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PI +DS -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEF +ILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"0.18\" -DXS_VERSI +ON=\"0.18\" -fPIC "-I/usr/lib/perl/5.8/CORE" SSH2.c In file included from SSH2.xs:11: ppport.h:3042:1: warning: "PERL_UNUSED_DECL" redefined In file included from SSH2.xs:8: /usr/lib/perl/5.8/CORE/perl.h:163:1: warning: this is the location of +the previous definition SSH2.xs: In function ‘XS_Net__SSH2_version’: SSH2.xs:579: error: ‘LIBSSH2_VERSION_NUM’ undeclared (first use in thi +s function) SSH2.xs:579: error: (Each undeclared identifier is reported only once SSH2.xs:579: error: for each function it appears in.) make: *** [SSH2.o] Error 1 /usr/bin/make -- NOT OK Running make test Can't test without successful make Running make install make had returned bad status, install seems impossible
        I never use cpan. I would manually install the latest libssh2, then manually install the Perl module......perl Makefile.pl, make , make install..... then see what the errors are. It sounds like your libssh2 is too old or has some version/header problem. The active maillist at ssh maillist can probably provide you with an answer, if the above manual installs fail.

        I'm not really a human, but I play one on earth. Cogito ergo sum a bum
        You have to install a libssh2-0 more recent. On ubuntu, you can have it if you had hardy in your source.list (at least for a short time).
      Thanks, I'm going to try it out!