IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation et administration système Perl Discussion :

Net::SSH -> Can't locate Math/Pari.pm


Sujet :

Programmation et administration système Perl

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Net::SSH -> Can't locate Math/Pari.pm
    Bonjour,

    J'ai un problème de lancement d'un script qui a pour fonction d'executer une commande à travers ssh.

    J'ai installer Net::SSH:: Perl avec la commande :
    perl -MCPAN -e 'force install Bundle::SSH'
    Tout s'est pas trop mal passé, et l'installation a réussi, mais lorsque je veut lancé mon script, il ne me trouve pas le module PARI :

    Can't locate Math/Pari.pm in @INC (@INC contains: /usr/local/lib/perl5/5.8.8/i686-linux /usr/local/lib/perl5/5.8.8 /usr/local/lib/perl5/site_perl/5.8.8/i686-linux /usr/local/lib/perl5/site_perl/5.8.8 /usr/local/lib/perl5/site_perl .) at /usr/local/lib/perl5/site_perl/5.8.8/Net/SSH/Perl/Util/SSH2MP.pm line 6.
    BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.8.8/Net/SSH/Perl/Util/SSH2MP.pm line 6.
    Compilation failed in require at /usr/local/lib/perl5/site_perl/5.8.8/Net/SSH/Perl/Util.pm line 56.
    BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.8.8/Net/SSH/Perl/Kex/DH1.pm line 10.
    Compilation failed in require at /usr/local/lib/perl5/site_perl/5.8.8/Net/SSH/Perl/Kex.pm line 6.
    BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.8.8/Net/SSH/Perl/Kex.pm line 6.
    Compilation failed in require at /usr/local/lib/perl5/site_perl/5.8.8/Net/SSH/Perl/SSH2.pm line 6.
    BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.8.8/Net/SSH/Perl/SSH2.pm line 6.
    Compilation failed in require at /usr/local/lib/perl5/site_perl/5.8.8/Net/SSH/Perl.pm line 54.
    [root@lappmon-test libexec]# perl -w ./test_ssh
    Can't connect to *.*.*.*, port 22: Connection timed out at /usr/local/lib/perl5/site_perl/5.8.8/Net/SSH/Perl.pm line 208.
    Est-ce un problème au niveau de l'installation ? merci

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Tu as fais un force install... J'imagine donc qu'avec un install tu avais des problèmes ? As-tu essayé d'installer Math::Pari tout seul ?
    Sous quel OS es-tu ? N'y a-t-il pas déjà des paquets binaires pour ta distribution qui contiennent Net::SSH ?

    --
    Jedaï

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    J'ai simplement suivi la doc CPAN du module Bundle::SSH, où il est marqué :

    First you have to download and expand the PARI itself.
    See INSTALL PARI below.

    INSTALL PARI

    anonymous ftp from: megrez.math.u-bordeaux.fr /pub/pari/unix/ pari-2.1.4.tgz maybe pari.tgz always points to the latest ?

    in short wget ftp://megrez.math.u-bordeaux.fr/pub/...pari-2.1.4.tgz in the parent directory where the CPAN modules will be built. It is ususally ~/.cpan/build

    tar xzf pari-2.1.4.tgz cd pari-2.1.4 ./Configure (nothing more is needed, see the INSTALL file in Math-Pari)

    Then:

    perl -MCPAN -e 'force install Bundle::SSH'
    Ce que j'ai compris (et fais), c'est télécharger pari-2.3.2, décompressé dans le dossier ~/.cpan/build, et effectué le ./configure comme demandé.

    Puis j'ai lancé la commande (qui au passage ne marche pas, je suis obligé de faire perl -MCPAN -eshell puis force install Bundle::SSH, mais je doute que cela est un lien avec mon problème).

    Si j'installe Math::Pari, ça me donne :

    install Math::Pari
    Running install for module 'Math::Pari'
    Running make for I/IL/ILYAZ/modules/Math-Pari-2.010709.tar.gz
    Has already been unwrapped into directory /root/.cpan/build/Math-Pari-2.010709-x4t3YC
    '/usr/local/bin/perl Makefile.PL' returned status 512, won't make
    Running make test
    Make had some problems, won't test
    Running make install
    Make had some problems, won't install
    Pour la version de l'OS : Red Hat Linux release 7.3 - Valhalla (kernel 2.4.18-3)

    Comment puis je savoir si ma distribution contient Net:SSH ? vu l'ancienneté de l'OS, sa m'étonnerai...

  4. #4
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Tu as bien décompressé PARI dans /root/.cpan/build ? Car root est l'utilisateur sous lequel tourne CPAN. Et tu as essayé de faire perl Makefile.PL à la main pour Math::PARI voire si tu n'aurais pas un message d'erreur plus explicite ?

    --
    Jedaï

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Oui je suis bien dans /root/.cpan/build

    Lorsque je fais une install de Math::Pari à la main, sa à l'air de bien se passer, le résultat du make install est le suivant :

    cd libPARI && make LIBPERL_A="libperl.a" LINKTYPE="dynamic" OPTIMIZE="-O2" PREFIX="/usr/local" PASTHRU_DEFINE="" PASTHRU_INC=""
    make[1]: Entering directory `/root/.cpan/build/Math-Pari-2.010709/libPARI'
    make[1]: Leaving directory `/root/.cpan/build/Math-Pari-2.010709/libPARI'
    make[1]: Entering directory `/root/.cpan/build/Math-Pari-2.010709/libPARI'
    make[1]: Nothing to be done for `all'.
    make[1]: Leaving directory `/root/.cpan/build/Math-Pari-2.010709/libPARI'
    Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
    Writing /usr/local/lib/perl5/site_perl/5.8.8/i686-linux/auto/Math/Pari/.packlist
    Appending installation info to /usr/local/lib/perl5/5.8.8/i686-linux/perllocal.pod
    Mais lorsque j'utilise le Bundle, j'ai l'impression qu'il cherche Math-Pari-2.010709-x4t3YC et pas Math-Pari-2.010709.

    Comment puis je demander d'utiliser l'un plutot que l'autre ?

    Comment puis je savoir si à travers de ces erreurs, Net::SSH::Perl marche ? Parce que j'ai bien un script, qui utilise ce module, mais quand je le lance avec perl ./script, il n'y a aucun retour (pas meme de message d'erreur), il bloque complètement.

    Voici le script qui me permet de tester l'installation du module :
    #!/usr/bin/perl
    use Net::SSH::Perl;
    my $ssh = Net::SSH::Perl -> new('*.*.*.*');
    $ssh -> login('root','***');
    my ($stdout,$stderr,$exit) = $ssh -> cmd('uname -n');

    print $stdout;

  6. #6
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Que donne la suite de test de Net::SSH::Perl ?

    --
    Jedaï

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Install Net::SSH::Perl donne :
    t/01-compile.....ok
    t/02-buffer......ok
    t/03-packet......ok
    t/04-config......ok
    t/05-cipher......ok
    t/06-circular....ok
    All tests successful.
    Je vien de comprendre pourquoi le script ne marchait pas, j'avais oublié de vidé le buffer dans mon premier print... Maintenant, je vois qu'il charge bien le module, donc je pense qu'il est bien installé.

    Cependant il bloque à la ligne : $ssh -> login('root','****');
    pourtant en faisan une connexion
    $ssh -l root *.*.*.*
    PASSWORD : ****
    j'arrive bien à me connecter... je vais regarder sur la doc si je peut trouver quelque chose, en tout cas je te remercie bien Jedaï !

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Voila le script que j'ai utilisé pour le debug :

    #!/usr/bin/perl
    use Net::SSH::Perl;

    %params = ( debug => 1, protocol => "1,2" );
    $ssh = Net::SSH::Perl->new( "*.*.*.*", %params );
    $ssh->login( 'root', '***' ) or die "Couldn't connect.";
    my($stdout, $stderr, $exit) = $ssh->cmd( "uname -n" );

    print "$stdout\n";
    Par contre, il est vraiment beaucoup trop lent à se connecter, il lui faut plus d'une minute pour se connecter et executer une commande : est ce normal ?

    sinon j'utilise un script expect, en 4 secondes il fait le boulo !

  9. #9
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par sputa
    Par contre, il est vraiment beaucoup trop lent à se connecter, il lui faut plus d'une minute pour se connecter et executer une commande : est ce normal ?
    Je dirais que ce n'est pas vraiment normal... D'un autre côté je n'ai jamais utilisé ce module. Tu as bien conscience que Net::SSH::Perl est la version pure perl de Net::SSH et en tant que telle n'est à utiliser que si installer l'autre se révèle impossible ?

    --
    Jedaï

  10. #10
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Bonjour, je fais remonté ce post, car sur google c'est celui ci qui sort en premier.
    Et comme j'ai été confronté au problème je vous met la solution.

    Pour le problème de lenteur d'une connexion Ssh (+ de 80 sec la connexion).

    Il faut rajouter le module Math::BigInt::GMP

    Bonne journée

  11. #11
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par MaitrePylos Voir le message
    Bonjour, je fais remonté ce post, car sur google c'est celui ci qui sort en premier.
    Et comme j'ai été confronté au problème je vous met la solution.

    Pour le problème de lenteur d'une connexion Ssh (+ de 80 sec la connexion).

    Il faut rajouter le module Math::BigInt::GMP

    Bonne journée
    Sympa, merci pour l'info, je ne savais pas qu'il y avais une telle différence entre PARI et GMP... En tout cas, la meilleure solution reste de prendre Net::SSH et pas Net::SSH::Perl.

    --
    Jedaï

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Can't locate Net/FTP.pm
    Par louison45 dans le forum Web
    Réponses: 3
    Dernier message: 29/11/2007, 16h03
  2. Réponses: 5
    Dernier message: 01/10/2007, 14h36
  3. Net::SSH::Perl Can't bind socket to port 1023: Adresse déjà utilisée
    Par sohnic dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 27/11/2006, 21h32
  4. utiliser DBI (Can't locate DBI.pm)
    Par milka dans le forum SGBD
    Réponses: 5
    Dernier message: 12/08/2005, 19h36
  5. [VB.NET] Error: There can be only one 'page' directive
    Par Redouane dans le forum ASP.NET
    Réponses: 2
    Dernier message: 24/11/2004, 19h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo