Publicité
+ Répondre à la discussion
Page 1 sur 3 123 DernièreDernière
Affichage des résultats 1 à 20 sur 51
  1. #1
    Membre à l'essai
    Homme Profil pro mAtT
    Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Inscrit en
    avril 2010
    Messages
    138
    Détails du profil
    Informations personnelles :
    Nom : Homme mAtT
    Âge : 26
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : avril 2010
    Messages : 138
    Points : 21
    Points
    21

    Par défaut Problème script Perl Gtk2 -> .exe standalone

    Bonjour.

    Je suis étudiant en bioinformatique et j'aurais besoin d'un peu d'aide concernant un projet.

    J'ai écrit un script en Perl utilisant Gtk2 pour l'interface graphique et d'autres modules (GD::Graph).

    On me demande de réaliser cette application de manière à avoir uniquement un exécutable (.exe) standalone (sans avoir à installer quoi que se soit pour l'utiliser) qui sera utilisé sur des machines Windows.

    1 - Selon vous, est-ce possible ? Ou bien il faudra à un moment ou à un autre installer Gtk2 ou Perl sur les machines utilisant l'application ?

    2 - Comment créer mon .exe contenant tous les modules nécessaires ?

    J'ai essayé de générer un .exe à partir de mon script à l'aide de PAR :: Packer (pp). Mon .exe a bien été généré cependant je pense que les modules utilisés par le script n'ont pas été ajouté à l'exécutable.
    Quand j'essaie de lancer mon application, j'ai le message suivant qui s'affiche :

    Code :
    "Le point d'entrée de procédure g_ascii_strtoll est introuvable dans la bibliothèque de liens dynamiques libglib-2.0-0.dll."
    Faut-il ajouter les modules nécessaires manuellement dans la ligne de commande servant à générer mon .exe ? Car j'ai seulement utilisé cette commande :

    Code :
    pp -o testData.exe Data.pl -v
    En vous remerciant, et en vous souhaitant une bonne année 2012 !

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    16 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 16 760
    Points : 490 698
    Points
    490 698

    Par défaut

    Bonjour,

    Quelle version des modules PAR et PAR::Packer utilisez-vous ?
    Sous quel OS travaillez-vous et quelle est votre version de Perl ?
    Avez-vous lu cet article ?

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  3. #3
    Membre à l'essai
    Homme Profil pro mAtT
    Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Inscrit en
    avril 2010
    Messages
    138
    Détails du profil
    Informations personnelles :
    Nom : Homme mAtT
    Âge : 26
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : avril 2010
    Messages : 138
    Points : 21
    Points
    21

    Par défaut

    Bonjour.

    Voici les versions des modules :

    Perl : v5.10.1
    PAR : 1.005
    PAR :: Packer : 1.012

    Je développe sous Windows 7.

    J'ai essayé d'utiliser PAR :: Packer mais j'ai le message suivant qui s'affiche lorsque j'essaie de compiler un exécutable :

    Packing DataAnalyzer.pl
    Generating a fresh 'parl'.
    Failed to extract a parl from 'PAR::StrippedPARL::Static' to file 'C:/Users/Matt/AppData/Local/Temp/parlpPjMf15.exe' at C:/Perl/site/lib/PAR/Packer.pm line 1169, <DATA> line 1.
    J'avais donc essayé de compiler mon exécutable avec Perl2Exe.
    Cependant j'ai le message précisé dans mon premier post.

    J'ai trouvé le fichier libglib-2.0-0.dll sur mon DD dans le dossier C:/GTK/bin/, je l'ai donc copié et collé dans le même répertoire que mon exécutable généré avec Perl2Exe.
    Le message d'erreur a alors changé, me précisant alors que le point d'entrée introuvable se situait cette fois sur le fichier p2x5101.dll qui est présent dans le répertoire de perl2exe. J'ai essayé de le coller dans le répertoire de mon exécutable généré avec perl2exe mais le message d'erreur persiste.

  4. #4
    Membre à l'essai
    Homme Profil pro mAtT
    Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Inscrit en
    avril 2010
    Messages
    138
    Détails du profil
    Informations personnelles :
    Nom : Homme mAtT
    Âge : 26
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : avril 2010
    Messages : 138
    Points : 21
    Points
    21

    Par défaut

    Bonjour.

    J'ai ajouté l'option "-l" pour préciser qu'il faut ajouter des fichiers .dll au fichier .exe.

    Lorsque j'essaie de lancer mon fichier .exe, j'ai un message d'erreur comme dans mon post précédent pour plusieurs fichiers .dll même si je les ajoute avec l'option -l.

    Je ne parviens pas à faire mon exécutable avec les modules et/ou fichiers .dll nécessaires ...

  5. #5
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    16 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 16 760
    Points : 490 698
    Points
    490 698

    Par défaut

    Pouvez-vous nous montrer la commande pp exact que vous lancez.

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  6. #6
    Membre à l'essai
    Homme Profil pro mAtT
    Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Inscrit en
    avril 2010
    Messages
    138
    Détails du profil
    Informations personnelles :
    Nom : Homme mAtT
    Âge : 26
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : avril 2010
    Messages : 138
    Points : 21
    Points
    21

    Par défaut

    Oui bien sûr. La voilà :

    pp monScript.pl -o essai.exe -g -l libglib-2.0-0.dll -l libgcc_s_dw2-1.dll -l libpango-1.0-0.dll -l libgobject-2.0-0.dll -l libpangocairo-1.0-0.dll -l libpangoft2-1.0-0.dll -l libpangowin32-1.0-0.dll -l libcairo-2.dll -l freetype6.dll -l libpng14-14.dll -l Cairo.dll -l Glib.dll -l libgdk-win32-2.0-0.dll -l libgio-2.0-0.dll -l zlib1.dll -l libgdk_pixbuf-2.0-0.dll
    En sachant que je lance cette commande depuis le répertoire où se situe mon script Perl, ainsi que les fichiers .dll utilisés (je les ai copiés dans ce répertoire pour simplifier les chemins des fichiers).

    Et en fait, j'ai trouvé ces fichiers DLL car quand j'exécutais mon .exe il me disait qu'il ne trouvait pas les fichiers .dll cités ici. Donc à chaque fois j'ai exécuté, copié le .dll correspondant dans le répertoire, et modifié ma commande. Jusqu'au moment où le message d'erreur continue à m'indiquer que le fichier libgdk-win32-2.0-0.dll ne peut pas être trouvé, bien qu'il soit copié dans le répertoire de mon script Perl.

  7. #7
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    16 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 16 760
    Points : 490 698
    Points
    490 698

    Par défaut

    Est-ce possible d'avoir le message d'erreur exact ?

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  8. #8
    Membre à l'essai
    Homme Profil pro mAtT
    Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Inscrit en
    avril 2010
    Messages
    138
    Détails du profil
    Informations personnelles :
    Nom : Homme mAtT
    Âge : 26
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : avril 2010
    Messages : 138
    Points : 21
    Points
    21

    Par défaut

    Voilà le message d'erreur :

    Point d'entrée introuvable

    Le point d'entrée de procédure gdk_screen_get_font_options_libgtk_only est introuvable dans la bibliothèque de liens dynamiques libgdk-win32-2.0-0.dll

  9. #9
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    16 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 16 760
    Points : 490 698
    Points
    490 698

    Par défaut

    arrivez-vous à créer un exe d'un simple programme perl qui print bonjour ?

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  10. #10
    Membre à l'essai
    Homme Profil pro mAtT
    Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Inscrit en
    avril 2010
    Messages
    138
    Détails du profil
    Informations personnelles :
    Nom : Homme mAtT
    Âge : 26
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : avril 2010
    Messages : 138
    Points : 21
    Points
    21

    Par défaut

    J'ai essayé de faire un .exe d'un programme qui fait un simple "print "Bonjour"" :

    Code :
    1
    2
    3
    4
    5
    #! /usr/bin/perl -w
     
    use strict;
     
    print "\n\nBonjour!\n\n";
    Un autre qui affiche une fenêtre graphique qui contient un label "Bonjour !" :

    Code :
    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
    #! /usr/bin/perl -w
     
    use strict;
     
    # utilisation et initialisation de Gtk2
    use Gtk2 '-init';
    use Gtk2::SimpleMenu;
     
     
    my $window = Gtk2::Window->new('toplevel');							# création de la fenêtre principale
    $window->signal_connect('delete_event', sub{Gtk2->main_quit();});	# fermeture du programme quand on clique sur la croix rouge
    $window->set_position('center');
    $window->set_title('DataAnalyzer : outil d\'analyse de séries de données');
     
    # creation d'une boîte verticale de composants
    my $vbox = Gtk2::VBox->new();
    $vbox->set_border_width(50);
    $window->add($vbox);
     
    my $lab = Gtk2::Label->new("Bonjour !");
     
    $vbox->pack_start($lab,1,1,0);
     
    # on montre la fenêtre princpale en dernier
    $window->show_all();
     
    Gtk2->main();
    Dans le premier cas, rien ne se passe. Le message ne s'affiche pas dans la console DOS.

    Dans le deuxième cas, j'ai le même message d'erreur de début qu'avec mon gros programme, à savoir :

    Le point d'entrée de procédure g_ascii_strtoll est introuvable dans la bibliothèque de liens dynamiques libglib-2.0-0.dll
    en sachant que je n'ai pas essayé ensuite avec tous les fichiers .dll de faire un .exe avec les options -l.

  11. #11
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    16 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 16 760
    Points : 490 698
    Points
    490 698

    Par défaut

    PAs la peine d'aller plus loin. Vous avez déjà un souci car si le premier programme ne fonctionne pas,, ce n'est pas normal. Il faut revoir l'installation de ces modules.

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  12. #12
    Membre à l'essai
    Homme Profil pro mAtT
    Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Inscrit en
    avril 2010
    Messages
    138
    Détails du profil
    Informations personnelles :
    Nom : Homme mAtT
    Âge : 26
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : avril 2010
    Messages : 138
    Points : 21
    Points
    21

    Par défaut Concernant Tk

    Bonjour.

    Puisque Gtk2 ne me permet pas de générer un exécutable correctement, j'ai commencé à développer mon interface en Tk sur une machine Linux (en cours) sur laquelle j'ai réussi à installer Tk.

    Mais je n'arrive pas à l'installer sur ma machine sous Windows 7 64bits.

    Quand j'essaie de l'installer via CPAN, j'ai un message en fin de "test Tk" :
    C:\Perl64\bin\dmake.exe -- NOT OK
    Cependant j'ai l'impression que ma variable PATH contient ce qu'il faut. Et j'avais installé DMAKE via MinGW et même Visual C++ Express.
    Ce n'est pas la première fois que je n'arrive pas à installer à module à cause de dmake ou que ce message apparaît en tout cas.

    Je me suis dirigé vers CPAN car dans PPM, il n'y a pas de module Tk, il n'y a que des modules "dérivés" (Tk-Action, Tk-FileDialog, Tk-Browser, etc).
    Dois-je télécharger tous ces modules pour avoir installer Tk ?
    Ou dois-je installer Tkx ?

    Merci beaucoup !

  13. #13
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    16 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 16 760
    Points : 490 698
    Points
    490 698

    Par défaut

    Sous Dos, lance cette commande :
    Code :
    ppm install http://www.bribes.org/perl/ppm64/Tk.ppd

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  14. #14
    Membre à l'essai
    Homme Profil pro mAtT
    Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Inscrit en
    avril 2010
    Messages
    138
    Détails du profil
    Informations personnelles :
    Nom : Homme mAtT
    Âge : 26
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : avril 2010
    Messages : 138
    Points : 21
    Points
    21

    Par défaut

    Merci beaucoup cela fonctionne très bien !!

    Y aurait-t-il une commande pour installer aussi Tk-JComboBox svp ?

  15. #15
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    16 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 16 760
    Points : 490 698
    Points
    490 698

    Par défaut

    Vous avez de la chance, ce module est aussi dispo dans le dépôt :
    Code :
    ppm install http://www.bribes.org/perl/ppm64/Tk-JComboBox.ppd

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  16. #16
    Membre à l'essai
    Homme Profil pro mAtT
    Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Inscrit en
    avril 2010
    Messages
    138
    Détails du profil
    Informations personnelles :
    Nom : Homme mAtT
    Âge : 26
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : avril 2010
    Messages : 138
    Points : 21
    Points
    21

    Par défaut

    Oui pour une fois en quelques semaines je suis "veinard" on peut le dire ! Merci énormément !!

  17. #17
    Membre à l'essai
    Homme Profil pro mAtT
    Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Inscrit en
    avril 2010
    Messages
    138
    Détails du profil
    Informations personnelles :
    Nom : Homme mAtT
    Âge : 26
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : avril 2010
    Messages : 138
    Points : 21
    Points
    21

    Par défaut Problème pour inclure Tk dans l'exécutable PP

    Bonjour.

    J'ai réussi à porter mon application Gtk2 en application Tk.

    Il ne me reste plus qu'à créer mon exécutable standalone.

    Voici la commande que j'utilise :

    Code :
    pp -o MonEssai.exe Application.pl -a "icone.png" -g -i "icone.ico" -M Tk -M Tk::JComboBox -M Tk::Balloon -M Tk::JPEG -M Tk::PNG -M Tk::Photo -M Tk::ProgressBar -M GD::Graph::lines -M GD::Graph::points
    Cependant cela ne fonctionne pas, cette commande ne parvient pas à inclure les modules spécifiés. J'ai un message d'erreur m'indiquant qu'il n'arrive pas à trouver Tk sur mon PC alors qu'il est bien installé.

    Pour être plus précis, j'ai réussi à installer Tk sur ma machine avec la commande suivante :

    Code :
    ppm install http://www.bribes.org/perl/ppm/Tk.ppd
    L'installation semble s'être correctement effectuée.
    Cependant si je regarde dans CPAN si Tk est installé (m Tk), cela me dit qu'il n'est pas installé !

    Si j'enlève les options -M, je parviens à créer un exécutable mais bien entendu non fonctionnel puisqu'il requiert Tk.

    Comment puis-je faire ?
    J'ai vu qu'il existe l'option -a pour ajouter des fichiers. Je peux peut-être spécifier mes modules avec l'option -M avec le chemin complet vers les fichiers .pm de ces modules ?

    C'est vraiment la dernière étape de mon projet. J'espère vraiment pouvoir le terminer.

    Merci beaucoup.

    Bonne soirée et bonne semaine.

  18. #18
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    16 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 16 760
    Points : 490 698
    Points
    490 698

    Par défaut

    Il faudrait nous mettre le message d'erreur exact.

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  19. #19
    Membre à l'essai
    Homme Profil pro mAtT
    Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Inscrit en
    avril 2010
    Messages
    138
    Détails du profil
    Informations personnelles :
    Nom : Homme mAtT
    Âge : 26
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'étude en Bioinformatique - Recherche publique dans l'agronomie
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : avril 2010
    Messages : 138
    Points : 21
    Points
    21

    Par défaut

    Quand j'essaie de créer mon exécutable avec les options -M j'ai le message d'erreur suivant :

    Cannot find module Tk.pm (specified with -M)
    Si je crée un exécutable sans spécifier ces modules avec l'option -M, quand j'essaie de lancer l'exécutable j'obtiens ce message d'erreur "habituel" qui dit juste en gros :

    Can't locate Tk.pm in (@INC contains ....

    BEGIN failed--compilation aborted at script/Application.pl line 5
    Donc c'est vrai que le plus curieux est le fait que je réussisse à installer Tk (via le repositories bribes comme dit précédemment, ou même par ActivePerl PPM), mais que dans CPAN il apparaisse non installé.
    D'ailleurs dans le dossier C:/Perl et les sous dossiers, je ne trouve pas Tk.pm.

  20. #20
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    16 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 16 760
    Points : 490 698
    Points
    490 698

    Par défaut

    Sur ton 32 bits tu as le même souci ?

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •