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

Modules Perl Discussion :

Compilation de modules (PERL 5.10.1) avec dmake.exe


Sujet :

Modules Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Par défaut Compilation de modules (PERL 5.10.1) avec dmake.exe
    Bonjour,

    J'essaye (en vain) de compiler mon module PAR:acker grâce au tutorial
    http://djibril.developpez.com/tutori...on-modules/#L2
    Déjà: merci Djibril pour ce tuto car il est super.
    Sauf que je n'y arrive pas.
    Alors voilà mon problème: je suis sous W2000, j'ai installé Perl 5.10.1, DevC++ et ajouté le dmake 4.12 de Gurusamy Sarathy. J'ai installé mes modules (je les vois dans le PPM). Je suis donc à l'étape où je dois lancer le dmake (étape 4 de la compilation après le perl Makefile.PL).
    Et soudain, tout bascule

    C:\Mon Dev\Installs\PERL\Modules\PAR-Packer-0.991>dmake
    Set up gcc environment - 3.4.2 (mingw-special)
    dmake.exe: Error -- `C:\Perl\libConfig.pm' not found, and can't be made

    Ceci est une erreur classique apparemment (cf http://search.cpan.org/~gsar/dmake-4.1pl1-win32/), mais je ne trouve pas de solution (il devrait y avoir `C:\Perl\lib*\*Config.pm'). Il me manque un backSlash quelque part, mais où??? makefile.pl? dans un fichier du rép "startup"?

    Quelqu'un aurait une idée?

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Tu es sous Windows et dispose de ppm, pas besoin d'essayer de compiler PAR::PAcker.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ppm install PAP::Packer
    et le tour est joué.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Par défaut
    D'après le tuto, "La compilation d'un module CPAN est nécessaire lorsqu'on utilise la nouvelle version d'ActivePerl 5.10"

    Donc, si je ne compile pas, la suite logique est de faire:
    pp -o toto.exe toto.pl

    L'erreur suivante apparait dans un msgbox:
    "Le point d'entrée de procédure Perl_croak_xs_usage est introuvable dans la bibliothèque de liaisons dynamique perl510.dll"

    C:\Mes Dev>pp -o toto.exe toto.pl
    Set up gcc environment - 3.4.2 (mingw-special)
    Can't load 'C:/Perl/lib/auto/IO/IO.dll' for module IO: load_file:La procÚdure sp
    ÚcifiÚe est introuvable at C:/Perl/lib/XSLoader.pm line 70.
    at C:/Perl/lib/IO.pm line 11
    Compilation failed in require at C:/Perl/lib/IO/Handle.pm line 266.
    BEGIN failed--compilation aborted at C:/Perl/lib/IO/Handle.pm line 266.
    Compilation failed in require at C:/Perl/lib/IO/Seekable.pm line 101.
    BEGIN failed--compilation aborted at C:/Perl/lib/IO/Seekable.pm line 101.
    Compilation failed in require at C:/Perl/lib/IO/File.pm line 133.
    BEGIN failed--compilation aborted at C:/Perl/lib/IO/File.pm line 133.
    Compilation failed in require at -e line 448.
    C:\Perl\site\bin/pp: Failed to extract a parl from 'PAR::StrippedPARL::Static' t
    o file 'parlQ1nqtdy.exe' at C:/Perl/site/lib/PAR/Packer.pm line 1155, <DATA> line 1.


    Et cela me génère un fichier vide "parlQ1nqtdy.exe".

    Comment faire?

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Je pense que tu n'as pas bien saisie et ma documentation porte à confusion, je vais corriger.
    Il n'est pas obligatoire de compiler les modules sous perl 5.10. On compile généralement les modules lorsque l'on ne les trouve pas dans les repositories via ppm (sous Windows).

    Pour toi installe les repositories comme expliqué dans la documentation et ensuite fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ppm install PAR::Packer

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Par défaut
    J'ai déjà fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ppm install PAR::Packer
    et je vois que le module est installé via l'interface PPM.

    Mon pb, c'est que je n'arrive pas à utiliser ce module.
    Je me demandais si c'était parce que je ne l'avais pas compilé; mais d'après ta réponse, je comprends que le fait de ne pas l'avoir compilé ne pose pas de pb.

    Donc, je réitère ma question, comment faire pour utiliser ce module?
    J'ai essayé
    mais cela me génère des erreurs (cf mon précédent message).

  6. #6
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Bon fais ceci :
    et ensuite fais ta commande
    pp -o toto.exe toto.pl
    .

    Et si possible, montre nous le code que tu souhaites transformer en exécutable.

    Merci

  7. #7
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    En ce qui concerne ton proxy :
    Connais tu son url, login et password ?
    Tu dois le mettre de la façon suivante :

    set http_proxy=http://username:password@proxy.domain.tld:port

    J'ai un doute sur l'url de ton proxy : http://proxy:8080

    Je te recommande de faire le nécessaire pour ton proxy, car, le faite d'installer un module aussi complexe via ppm permet de ne pas se prendre la tête à gérer toutes les dépendances.
    Si tu observes le fichier PAR-PAcker.ppd, tu remarqueras qu'il nécessite l'installation préalable de plusieurs modules que tu as listé dans ton pdf. Ainsi, tu dois installer chacun de ces modules avant de faire quoique ce soit. En espérant que chacun d'eux ne nécessite pas non plus d'autres modules , sinon faudra faire la même chose pour eux. Donc, je pense que tu n'arrive pas compiler ton programme car l'installation de tous les modules n'est pas correcte ou complète.

    Je te conseillerais d'aller voir ton administrateur réseaux pour lui demander l'url de ton proxy avec login et password afin de pouvoir installer ton module proprement via ppm, c'est la plus simple et efficace.

  8. #8
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Sinon, j'ai testé les manipulations sur un PC sous Windows XP avec ta version de Perl 5.10.1 sans internet.

    Voici ce que j'ai fait :
    1- Création du répertoire choutlse31 sur mon bureau
    2- Téléchargement de PAR-Packer.ppd et du tar.gz allant avec

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <SOFTPKG NAME="PAR-Packer" VERSION="0,991,0,0">
        <TITLE>PAR-Packer</TITLE>
        <ABSTRACT>PAR Packager</ABSTRACT>
        <AUTHOR>Audrey Tang (cpan@audreyt.org)</AUTHOR>
        <IMPLEMENTATION>
            <DEPENDENCY NAME="Archive-Zip" VERSION="1,0,0,0" />
            <DEPENDENCY NAME="IO-Compress" VERSION="2,020,0,0" />
            <DEPENDENCY NAME="File-Temp" VERSION="0,05,0,0" />
            <DEPENDENCY NAME="Getopt-ArgvFile" VERSION="1,07,0,0" />
            <DEPENDENCY NAME="Module-ScanDeps" VERSION="0,81,0,0" />
            <DEPENDENCY NAME="PAR" VERSION="0,977,0,0" />
            <DEPENDENCY NAME="PAR-Dist" VERSION="0,22,0,0" />
            <DEPENDENCY NAME="Parse-Binary" VERSION="0,04,0,0" />
            <DEPENDENCY NAME="Win32-Exe" VERSION="0,04,0,0" />
            <OS NAME="MSWin32" />
            <ARCHITECTURE NAME="MSWin32-x86-multi-thread" />
            <CODEBASE HREF="PAR-Packer-0.991-PPM56.tar.gz" />
        </IMPLEMENTATION>
        <IMPLEMENTATION>
            <DEPENDENCY NAME="Archive-Zip" VERSION="1,0,0,0" />
            <DEPENDENCY NAME="IO-Compress" VERSION="2,020,0,0" />
            <DEPENDENCY NAME="File-Temp" VERSION="0,05,0,0" />
            <DEPENDENCY NAME="Getopt-ArgvFile" VERSION="1,07,0,0" />
            <DEPENDENCY NAME="Module-ScanDeps" VERSION="0,81,0,0" />
            <DEPENDENCY NAME="PAR" VERSION="0,977,0,0" />
            <DEPENDENCY NAME="PAR-Dist" VERSION="0,22,0,0" />
            <DEPENDENCY NAME="Parse-Binary" VERSION="0,04,0,0" />
            <DEPENDENCY NAME="Win32-Exe" VERSION="0,04,0,0" />
            <OS NAME="MSWin32" />
            <ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.8" />
            <CODEBASE HREF="PAR-Packer-0.991-PPM58.tar.gz" />
        </IMPLEMENTATION>
        <IMPLEMENTATION>
            <DEPENDENCY NAME="Archive-Zip" VERSION="1,0,0,0" />
            <DEPENDENCY NAME="IO-Compress" VERSION="2,020,0,0" />
            <DEPENDENCY NAME="File-Temp" VERSION="0,05,0,0" />
            <DEPENDENCY NAME="Getopt-ArgvFile" VERSION="1,07,0,0" />
            <DEPENDENCY NAME="Module-ScanDeps" VERSION="0,81,0,0" />
            <DEPENDENCY NAME="PAR" VERSION="0,977,0,0" />
            <DEPENDENCY NAME="PAR-Dist" VERSION="0,22,0,0" />
            <DEPENDENCY NAME="Parse-Binary" VERSION="0,04,0,0" />
            <DEPENDENCY NAME="Win32-Exe" VERSION="0,04,0,0" />
            <OS NAME="MSWin32" />
            <ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.10" />
            <CODEBASE HREF="PAR-Packer-0.991-PPM510.tar.gz" />
        </IMPLEMENTATION>
    </SOFTPKG>

    3- Téléchargement de tous les modules dont dépend PAR-Packer

    Getopt-ArgvFile-1.11-PPM510.tar.gz
    Getopt-ArgvFile.ppd
    Module-ScanDeps-0.95-PPM510.tar.gz
    Module-ScanDeps.ppd
    PAR.ppd
    PAR-0.994-PPM510.tar.gz
    PAR-Dist-0.45-PPM510.tar.gz
    PAR-Dist.ppd
    PAR-Packer-0.991-PPM510.tar.gz
    PAR-Packer.ppd
    Parse-Binary-0.11-PPM510.tar.gz
    Parse-Binary.ppd
    Win32-Exe-0.08-PPM510.tar.gz
    Win32-Exe.ppd
    4- J'ai regardé Chaque ppd.
    Pas besoin d'autres modules car présent dans le core de perl

    5- Maintenant je commence l'installation des modules :
    cd "C:\Documents and Settings\Administrateur\Bureau\choutlse31

    ppm install Getopt-ArgvFile.ppd
    ppm install Module-ScanDeps.ppd
    ppm install Parse-Binary.ppd
    ppm install Win32-Exe.ppd
    ppm install PAR-Dist.ppd
    ppm install PAR.ppd
    ppm install PAR-Packer.ppd

    6- creation du script test.pl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/usr/bin/perl
    use strict;
    use warnings;
    $| = 1;
    print "Je fais un test\n";
     
    print "FIN\n\n";
    print "Taper Entree pour terminer.";
    my $rep = <STDIN>;
    7- Création de l'exécutable
    pp -o test.exe test.pl
    Là j'ai un message comme quoi je ne dispose pas de compilateur C

    It looks like you don't have a C compiler on your PATH, so you will not be
    able to compile C or XS extension modules. You can install GCC from the
    MinGW package using the Perl Package Manager by running:

    ppm install MinGW

    Can't load 'C:/Perl/lib/auto/IO/IO.dll' for module IO: load_file:La procÚdure sp
    ÚcifiÚe est introuvable at C:/Perl/lib/XSLoader.pm line 70.
    at C:/Perl/lib/IO.pm line 11
    Compilation failed in require at C:/Perl/lib/IO/Handle.pm line 266.
    BEGIN failed--compilation aborted at C:/Perl/lib/IO/Handle.pm line 266.
    Compilation failed in require at C:/Perl/lib/IO/Seekable.pm line 101.
    BEGIN failed--compilation aborted at C:/Perl/lib/IO/Seekable.pm line 101.
    Compilation failed in require at C:/Perl/lib/IO/File.pm line 133.
    BEGIN failed--compilation aborted at C:/Perl/lib/IO/File.pm line 133.
    Compilation failed in require at -e line 448.
    C:\Perl\site\bin/pp: Failed to extract a parl from 'PAR::StrippedPARL::Static' t
    o file 'parlkffTuUA.exe' at C:/Perl/site/lib/PAR/Packer.pm line 1155, <DATA> lin
    e 1.
    8-Téléchargement de gcc-4.3.3-32.exe et installation comme expliqué dans ma documentation.
    Je n'ai plus de message par rapport au compilateur, mais j'ai toujours ce message dans un msgbox:
    "Le point d'entrée de procédure Perl_croak_xs_usage est introuvable dans la bibliothèque de liaisons dynamique perl510.dll"
    Je pense que le concepteur du module a dû compiler PAR avec une version de perl posant souci avec la
    version la plus à jour de Perl (5.10.1). J'ai donc désinstallé ActivePerl 5.10.1 et j'ai installé l'avant dernière version 5.10.0 (ActivePerl-5.10.0.1005-MSWin32-x86-290470) et là ça fonctionne correctement.
    Fais en de même !

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Par défaut tout fonctionne correctement maintenant
    Quelle bonne surprise ce matin en découvrant ta seconde réponse.
    MERCI MERCI MERCI

    Ca marche!
    MERCI

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

Discussions similaires

  1. compilation de module apache avec MinGW
    Par mr-ti dans le forum Windows
    Réponses: 1
    Dernier message: 16/05/2008, 13h22
  2. quel module pour le SGBD Ingres avec Perl 5.8.8
    Par StyleXP dans le forum SGBD
    Réponses: 5
    Dernier message: 19/06/2006, 13h58
  3. installation d'un module perl avec CPAN
    Par wodel dans le forum Modules
    Réponses: 1
    Dernier message: 14/01/2006, 12h52

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