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

Langage Perl Discussion :

Problème d'appel XML::Parser


Sujet :

Langage Perl

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 78
    Points : 41
    Points
    41
    Par défaut Problème d'appel XML::Parser
    Bonjour,

    J'ai créé un petit script en perl en utilisant des API Infoblox (peu importe.. ). Lorsque j'exécute celui ci, cette erreur m'est retourné:
    Can't locate loadable object for module XML:arser::Expat in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl . lib /home/val /home/val/lib) at /usr/local/lib/perl/5.18.2/XML/Parser.pm line 18.

    Je m'y connais vraiment peu en Perl et c'est la première fois que je vois une erreur de ce type, savez-vous de quoi cela peut provenir ?

    Merci d'avance

  2. #2
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    Bonjour,

    Si tu utilises XML:arser il te faut le mentionner dans ton code comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #!/usr/bin/perl
    use strict;
    use warnings;
    use utf8;
    use XML::Parser;
    Si tu utilises Perl Strawberry je crois que le module est déjà présent.

    En tout état de cause l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Can't locate XML/Parser.pm in @INC (you may need to install the XML::Parserr module) (@IN
    C contains: C:/Strawberry/perl/site/lib C:/Strawberry/perl/vendor/lib C:/Strawberry/perl/l
    ib .) at ifr38.pl line 5.
    BEGIN failed--compilation aborted at ifr38.pl line 5.
    1 - Soit que le module n'esxiste pas : il te faut donc le télécharger : en Strawberry dans une invite de commande tu tapes : cpan install XML:arser
    2 - Soit que tu as oublié de le mentionner dans ton source.pl comme ci-dessus
    EDIT 3 - Soit que le répertoire qui contient les modules n'est pas dans le PATH... C:\Strawberry\perl\site\bin;

    EDIT j'avais pas VU tu es sous Linux, mais c'est pareil... /usr/local/lib/perl/5.18.2 doit contenir le module Là une erreur semble être trouvée dans le module.pm
    Peux-tu coller un bout de ton code ?

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    Merci dmganges pour ton aide

    J'ai ajouté use XML:arser; dans mon script et exécuté la commande cpan install XML:arser mais toujours la même erreur.

    Comme j'ai dis je suis novice et quand j'ai vu que XML:arser manquait, j'ai tapé sur Internet "sources XML:arser", je les aient copié et collé dans /usr/local/share/perl/5.18.2/XML... C'est pour ça que la 3ieme solution que tu apportes doit être la bonne Malheureusement je ne sais pas trop comment rattraper ma connerie et repartir sur une installe propre pour que les librairies soient installé correctement dans le bon PATH...

    Si tu pouvais juste un peu m'aider .. encore merci..

  4. #4
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    Oui je n'avais pas bien regardé ce que tu avais posté.
    Peux-tu coller un bout de ton code ?

    Tu es en Active Perl ou en Strawberry Perl ?

    Dans un premier temps, tu supprimes ce que tu as copié à la main.

    Ensuite il faudra lancer
    - cpan si tu es en Perl Strawberry
    - ppm si tu es en Active Perl

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    Le code de mon script en lui même ne semble pas poser problème.
    En faite j’appelle une API Infoblox (que je ne peux donc pas modifier) qui elle même appel XML:arser. Puisque XML:arser ne doit pas avoir le bon PATH, il ne doit pas trouvé..

    J'ai eu l'occasion de tester sur une machine avec une "installation propre" et l'erreur n'apparaissait pas..

    Mon message d'erreur complet:

    Can't locate loadable object for module XML:arser::Expat in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl . lib /home/val/home/val/lib) at /usr/local/lib/perl/5.18.2/XML/Parser.pm line 18.
    Compilation failed in require at /usr/local/lib/perl/5.18.2/XML/Parser.pm line 18.
    BEGIN failed--compilation aborted at /usr/local/lib/perl/5.18.2/XML/Parser.pm line 22.
    Compilation failed in require at /usr/local/share/perl/5.18.2/Infoblox/Session.pm line 12.
    BEGIN failed--compilation aborted at /usr/local/share/perl/5.18.2/Infoblox/Session.pm line 12.
    Compilation failed in require at /usr/local/share/perl/5.18.2/Infoblox.pm line 8.
    BEGIN failed--compilation aborted at /usr/local/share/perl/5.18.2/Infoblox.pm line 8.
    Compilation failed in require at testSTasks.pl line 15.
    BEGIN failed--compilation aborted at testSTasks.pl line 15.


    EDIT: j'utilise cpan
    je fais le test et te redit le resultat, merci

  6. #6
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    OK en attendant voici un tuto

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    J'ai supprimé tout ce que j'avais copié/collé à la main et retenté l'installation par les deux méthodes du tuto :

    Quand je fais mon make, j'ai cette erreur:

    Expat.xs:12:19: fatal error: expat.h: Aucun fichier ou dossier de ce type
    #include <expat.h>
    ^
    compilation terminated.
    make[1]: *** [Expat.o] Erreur 1
    make[1]: quittant le répertoire « /home/val/.cpan/build/XML-Parser-2.41-cGNC6s/Expat »
    make: *** [subdirs] Erreur 2


    Sais-tu ce que ça signifie?

  8. #8
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    Là vite fait c'est comme si le module n'avait pas été récupéré complètement

    As-tu donné un coup d’œil à cette partie du tuto ?
    EDIT Dans ton $PATH as-tu le répertoire qui contient le(s) module(s) ?

    Peux-tu coller un echo $PATH

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    Oui j'ai suivi le tuto..

    Voici le retour de echo $PATH : /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games ..

  10. #10
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    D'après ce que tu as collé précédemment il devrait y avoir /home/val/.cpan dans le $PATH, enfin je crois je n'ai pas de Linux sous la main...
    Citation Envoyé par ifr38
    J'ai eu l'occasion de tester sur une machine avec une "installation propre" et l'erreur n'apparaissait pas..
    Peux-tu comparer les deux config ? ...

  11. #11
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    La logique voudrait que oui.. J'ai ajouté /home/val/.cpan a ma variable PATH mais toujours pareil quand je "make" j'ai cette erreur qui m'indique que expat.h n'ai pas trouvé..
    Je vais continuer à chercher, merci a toi en tous cas pour ta précieuse aide
    Je vais aller voir la config sur ma deuxième machine fonctionnelle, bien qu'au premier coup d'oeil ça semblait être identique

  12. #12
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    Ben pas trop précieuse pour l'instant...
    Si j'ai une lumière je la poste @+

  13. #13
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    Mon problème initial semble résolu, j'ai fais :

    *sudo apt-get install libexpat1-dev
    *sudo apt-get build-dep libxml-parser-perl


    et du coup mon XML:arser a pu trouver expat.h et s'est installé correctement.

    Maintenant une nouvelle erreur mais avec Crypt::SSLeay.. Je vais essayer de trouver d'où celle-la viens en espérant qu'a chaque fois qu'une erreur sera résolu, une autre n'apparaissent pas juste derrière

    EDIT: un "sudo apt-get install libssl-dev" regle mon dernier probleme et ca fonctionne (enfin!)

    Un grand merci et désolé pour le temps que je t'ai fait perdre

  14. #14
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut

    MERCI pour le retour, ça pourra servir...
    Tu ne m'as fait perdre aucun temps, je n'avais pas plus à faire...
    Bonne continuation !

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

Discussions similaires

  1. Problème de balise pour parser un fichier xml
    Par gxlinks dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 15/07/2010, 16h10
  2. [JAXP] com.sun.xml.parser.ValidatingParser
    Par yolepro dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 05/11/2008, 15h36
  3. problème avec XML::parser
    Par mbhfr06 dans le forum Modules
    Réponses: 4
    Dernier message: 23/08/2007, 14h15
  4. [XML::PARSER] Problème d'encodage
    Par frangin2003 dans le forum Modules
    Réponses: 13
    Dernier message: 05/09/2005, 14h59
  5. Réponses: 4
    Dernier message: 19/04/2004, 13h41

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