[Perl]-Problème de module externe

Bonjour,

j'essaye de faire du SSH avec Perl, mais il me manque le module Pari.

Je l'ai donc téléchargé et bien que j'aie mis le chemin pour le trouver avec un use, il ne le trouve pas...

use lib".../perl-cpan/Net-SSH-Perl-1.34/lib";
use lib".../perl-cpan/Math-Pari-2.010801";
use Net::SSH::Perl;
use Math::Pari;

Can't locate Math/Pari.pm in @INC (@INC contains: .../perl-cpan/Math-Pari-2.010801

.../perl-cpan/Math-Pari-2.010801 # ls
Changes libPARI META.yml Pari.xs t typemap
func_codes.h Makefile.PL PariInit.pm patches test_eng utils
INSTALL MANIFEST Pari.pm README TODO

Des pistes ?

Merci d'avance.

--

A+ Blux           
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

11 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Salut,

    Tu as installé le module?
    Tu fais ça sous Linux ou sous Windows?
    1. Modérateur
      Sous AIX...

      J'ai pas installé le module, puisqu'il est présent sous la racine, mais en essayant le Makefile.PL, ça plante...
      1. Modérateur
        Re,

        Ben, il faut l'installer sinon ça ne marche pas.
        Tu as quoi comme erreur?
        1. Modérateur
          J'ai des modules que je me suis contenté de recopier, sans installation...

          Sinon, le makefile.pl ne plante pas vraiment, mais me pose une question à la noix :

          perl Makefile.PL
          Did not find GP/PARI build directory around.

          Do you want to me to fetch GP/PARI automatically?

          (If you do not, you will need to fetch it manually, and/or direct me to
          the directory with GP/PARI source via the command-line option paridir=/dir)

          Make sure you have a large scrollback buffer to see the messages, or `tee'
          the STDOUT/STDERR to a file.

          Donc j'ai l'impression d'être devant un problème à tiroirs, ça m'agace...
      2. Modérateur
        Re,

        La question n'est pas à la noix ;-)
        En fait il y a besoin de l'archive pari-2.3.0.tar.gz pour faire l'installation.
        A moins que tu connais le lien de téléchargement, tu peux choisir automatique, ou le télécharger sur ton disque et spécifier le répertoire avec paridir

        Regarde chez moi (je travaille dans /home/lami20j/modules_cpan )
        $ wget https://cpan.metacpan.org/authors/id/I/IL/ILYAZ/modules/Math-Pari-2.010801.tar.gz 2>/dev/null
        $ wget ftp://megrez.math.u-bordeaux.fr/pub/pari/unix/pari-2.3.0.tar.gz 2>/dev/null
        $ tar xzf Math-Pari-2.010801.tar.gz
        $ tar xzf pari-2.3.0.tar.gz
        $ cd Math-Pari-2.010801/
        $ perl Makefile.PL paridir=/home/lami20j/modules_cpan/pari-2.3.0
        Setting up Math::Pari with Perl 5.010000 on linux version 2.6.26-1-686;
           cc=cc, gccversion=4.3.2, ccflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
           ld=cc, ldflags=' -L/usr/local/lib', optimize='-O2 -g'.
        Found GP/PARI build directory in /home/lami20j/modules_cpan/pari-2.3.0
             (integer-formatted version 2003000).
        
          ### Math::Pari support of GP/PARI library version 2.3.* should be
          ###   considered cursory only.  One may need to downgrade to 2.1.7,
          ###   or run Makefile.PL with option machine=none if the tests fail.
        
          ### For example, the test t/55_intnum.t takes a very long time to complete,
          ###   and plotting functions are not supported.
        
        ...Generating libPARI/paricfg.h ...
        Scanning header files...
        ...ulong
        ...getrusage
        ...CLK_TCK not defined
        Creating libPARI/paricfg.h...
        ...Processor of family `ix86' detected
        Checking if your kit is complete...
        Looks good
        ...Processor of family `ix86' detected
        ...I will use assembler build of type 'ix86'.
        ...Assembler is GNU assembler
        Writing Makefile for Math::PARI::libPARI
        Writing Makefile for Math::Pari


        1. Modérateur
          Re,

          Je suis en train de la compiler avec make && make test && make install pour voir.
          1. Modérateur
            Re,

            Et le résultat après l'installation
            $ perl -MMath::Pari -e 'print "Math/Pari.pm version $Math::Pari::VERSION\n"'
            Math/Pari.pm version 2.010801
            
            1. Modérateur
              Voui, mais ça me fait ch...

              Je voulais juste faire du ssh... et en plus, ils disent que si on a pas le module 'giga calcul des grands nombres' d'installé, ça marchera quand même (mais plus lentement), alors que c'est faux, me semble-t'il...

              Je vais voir si je poursuis...
              1. Modérateur
                Salut,

                j'essaye de faire du SSH avec Perl, mais il me manque le module Pari.
                Alors je nen comprends pas. Pourquio tu as besoin de Pari pour faire du SSH?
                use Net::SSH::Perl;
                
                my $ssh = Net::SSH::Perl -> new('xxx.xxx.xxx.xxx');
                $ssh -> login('login','mon_de_passe');
                my($stdout,$stderr,$exit) = $ssh -> cmd('commande');
                
                print $stdout;

                1. Modérateur
                  Tu as essayé de le lancer, ton script ?

                  Parce que moi, oui...

                  #!/usr/bin/perl
                  use lib".../perl-cpan/Net-SSH-Perl-1.34/lib";
                  use Net::SSH::Perl;
                  my $ssh = Net::SSH::Perl -> new('xxxxxxxxx');
                  $ssh -> login('xxxxx');
                  my($stdout,$stderr,$exit) = $ssh -> cmd('xxxx');
                  print $stdout;
                  exit;

                  Can't locate Math/Pari.pm in @INC (@INC contains: .../perl-cpan/Net-SSH-Perl-1.34/lib /usr/opt/perl5/lib/5.8.2/aix-thread-multi /usr/opt/perl5/lib/5.8.2 /usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi /usr/opt/perl5/lib/site_perl/5.8.2 /usr/opt/perl5/lib/site_perl .) at .../perl-cpan/Net-SSH-Perl-1.34/lib/Net/SSH/Perl/Util/SSH2MP.pm line 6, <GEN0> line 1.

              2. Modérateur
                J'ai tenté le make sur math/pari, ça se fini mal :

                Running Mkbootstrap for Math::Pari ()
                chmod 644 Pari.bs
                rm -f blib/arch/auto/Math/Pari/Pari.so
                LD_RUN_PATH="" ld -bhalt:4 -bM:SRE -bI:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp -bE:Pari.exp -bnoentry -lpthreads -lc_r Pari.o -o blib/arch/auto/Math/Pari/Pari.so libPARI/libPARI.a -lm
                ld : 0711-317 ERREUR : Symbole non défini : .__floor
                ld : 0711-317 ERREUR : Symbole non défini : .__ceil
                ld : 0711-345 Pour plus de détails, utilisez
                l'option -bloadmap ou -bnoquiet.
                make : 1254-004 Code d'erreur de la dernière commande : 8.

                Arrêt.

                Ca sent le suicide :-)
                1. Modérateur
                  Re,

                  Effectivement, l'installation de Net::SSH::Perl a comme dépendance Math::Pari
                  Malheureusement je n'ai pas un AIX pour faire des tests :-(

                  P.S. Et ne parle pas de suicide, puisque kilian va alerter la Police ;-DDD
                  1. Modérateur
                    Si tu veux, je te file le CD, mais c'est pour des proc PowerPC ;-)