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 :

problème d'installation du module text::unaccent::PurePerl


Sujet :

Modules Perl

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 124
    Points : 94
    Points
    94
    Par défaut problème d'installation du module text::unaccent::PurePerl
    Bonjour

    Je me bat depuis 24 heures pour installer et faire fonctionner text::unaccent:urePerl, sans succes
    reponse Can't locate etc , alors qu'il etait bien present là ou il devait être dans "/opt/local/lib/perl5/site_perl/5.16.3".
    finalement j'ai extrait PurePerl.pm et l'ai déplacer tout seul dans "/Library/Perl/5.16/darwin-thread-multi-2level" et là cela fonctionne ainsi.
    A mon avis il y a un conflit de nom sur le dossier Text, mais ce n'est l'avis que d'un débutant

    Si vous avez une remarque sur le sujet, je suis preneur
    merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    Pourrais-tu imprimer et nous donner le contenu du tableau @INC?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    perl -e 'print join "\n", @INC'

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 124
    Points : 94
    Points
    94
    Par défaut
    Citation Envoyé par Lolo78 Voir le message
    Pourrais-tu imprimer et nous donner le contenu du tableau @INC?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    perl -e 'print join "\n", @INC'
    voilà
    /opt/local/lib/perl5/site_perl/5.16.3/darwin-thread-multi-2level
    /opt/local/lib/perl5/site_perl/5.16.3
    /opt/local/lib/perl5/vendor_perl/5.16.3/darwin-thread-multi-2level
    /opt/local/lib/perl5/vendor_perl/5.16.3
    /opt/local/lib/perl5/5.16.3/darwin-thread-multi-2level
    /opt/local/lib/perl5/5.16.3
    /opt/local/lib/perl5/site_perl
    /opt/local/lib/perl5/vendor_perl/5.16.1/darwin-thread-multi-2level
    /opt/local/lib/perl5/vendor_perl/5.16.1
    /opt/local/lib/perl5/vendor_perl

    mais je voudrais preciser que j'ai d'autres modules à l'adresse ou se trouve unaccent qui fonctionne très bien
    d'autre part j'ai remarqué que dans une autre discussion plus bas, le mot PurePerl était déjà incriminé ...
    merci

  4. #4
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    Du coup, comme tu as bien "/opt/local/lib/perl5/site_perl/5.16.3" dans @INC (qui contient les différents répertoires où Perl va essayer de chercher les différents modules), je ne comprends pas pourquoi ça ne marchait pas.

    Et je ne comprends pas non plus pourquoi ça devrait marcher en mettant le module dans "/Library/Perl/5.16/darwin-thread-multi-2level", qui ne figure pas dans la liste (à moins peut-être que "Library" soit un alias ou pour un autre répertoire).

    Se pourrait-il que tu aies deux (ou plusieurs) versions différentes de Perl installée sur ta bécane?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 124
    Points : 94
    Points
    94
    Par défaut
    Citation Envoyé par Lolo78 Voir le message
    Du coup, comme tu as bien "/opt/local/lib/perl5/site_perl/5.16.3" dans @INC (qui contient les différents répertoires où Perl va essayer de chercher les différents modules), je ne comprends pas pourquoi ça ne marchait pas.

    Et je ne comprends pas non plus pourquoi ça devrait marcher en mettant le module dans "/Library/Perl/5.16/darwin-thread-multi-2level", qui ne figure pas dans la liste (à moins peut-être que "Library" soit un alias ou pour un autre répertoire).

    Se pourrait-il que tu aies deux (ou plusieurs) versions différentes de Perl installée sur ta bécane?
    ah oui, c'est vrai ... voilà ou le script cherchait
    Can't locate Text/Unaccent/PurePerl.pm in @INC (@INC contains: /Library/Perl/5.16/darwin-thread-multi-2level /Library/Perl/5.16 /Network/Library/Perl/5.16/darwin-thread-multi-2level /Network/Library/Perl/5.16 /Library/Perl/Updates/5.16.2 /System/Library/Perl/5.16/darwin-thread-multi-2level /System/Library/Perl/5.16 /System/Library/Perl/Extras/5.16/darwin-thread-multi-2level /System/Library/Perl/Extras/5.16 .)

    il est possible que j'ai deux Perl ou qu'il y ait des alias, mais je ne sais pas le verifier.. tout ce que je sait c'est que perl trouve le module libxml que j'ai installé avec cpan, tout comme comme unaccent, et que ces deux modules se trouvait dans le même dossier.

  6. #6
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    Mouais, sans doute quelque chose dans ce style, mais difficile de dire sans accès à ta bécane (et je ne demande pas d'accès, aucune envie de m'occuper de problèmes d'environnement que je déteste). Mais tu sembles bien avoir deux installations concurrentes de Perl.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 124
    Points : 94
    Points
    94
    Par défaut
    Citation Envoyé par Lolo78 Voir le message
    Mouais, sans doute quelque chose dans ce style, mais difficile de dire sans accès à ta bécane (et je ne demande pas d'accès, aucune envie de m'occuper de problèmes d'environnement que je déteste). Mais tu sembles bien avoir deux installations concurrentes de Perl.
    ok merci. Je ne vais certainement pas me lancer dans une désinstallation de perl pour l'instant. Mais au moins j'aurais compris (un peu) le problème au cas ou cela se reproduirait dans l'avenir.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 124
    Points : 94
    Points
    94
    Par défaut
    juste pour l'épilogue
    $ ls -l perl*
    lrwxr-xr-x 1 root admin 8 Jan 19 2014 perl@ -> perl5.16
    lrwxr-xr-x 1 root admin 8 Jan 19 2014 perl5@ -> perl5.16
    -rwxr-xr-x 1 root admin 13732 Dec 2 2013 perl5.10*
    lrwxr-xr-x 1 root admin 8 Dec 2 2013 perl5.10.1@ -> perl5.10
    -rwxr-xr-x 1 root admin 13956 Apr 4 01:18 perl5.16*
    lrwxr-xr-x 1 root admin 8 Apr 4 01:18 perl5.16.3@ -> perl5.16
    lrwxr-xr-x 1 root admin 12 Jan 19 2014 perlbug@ -> perlbug-5.16
    -rwxr-xr-x 2 root admin 45180 Dec 2 2013 perlbug-5.10*
    -rwxr-xr-x 2 root admin 41712 Apr 4 01:18 perlbug-5.16*
    lrwxr-xr-x 1 root admin 12 Jan 19 2014 perldoc@ -> perldoc-5.16
    -rwxr-xr-x 1 root admin 244 Dec 2 2013 perldoc-5.10*
    -rwxr-xr-x 1 root admin 244 Apr 4 01:18 perldoc-5.16*
    lrwxr-xr-x 1 root admin 12 Jan 19 2014 perlivp@ -> perlivp-5.16
    -rwxr-xr-x 1 root admin 12333 Dec 2 2013 perlivp-5.10*
    -rwxr-xr-x 1 root admin 10802 Apr 4 01:18 perlivp-5.16*
    lrwxr-xr-x 1 root admin 15 Jan 19 2014 perlthanks@ -> perlthanks-5.16
    -rwxr-xr-x 2 root admin 45180 Dec 2 2013 perlthanks-5.10*
    -rwxr-xr-x 2 root admin 41712 Apr 4 01:18 perlthanks-5.16*

    j'ai donc effectivement plusieurs perl (deux + un alias si j'ai bien compris)
    j'ai donc changé dans mon script #!/usr/bin/perl pour #!/usr/bin/perl5.16
    et bien sur maintenant, tout fonctionne.
    je poserais bien la question de savoir si je peux faire un rm -r sur 5.10 mais cela ne concerne plus les modules.

  9. #9
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    Il est probablement préférable de ne pas supprimer la version 5.10. Il y a des chances non négligeables qu'elle soit utilisée par le système d'exploitation (Linux ou autre), notamment pour les opérations d'upgrade système. Certaines choses pourraient ne plus fonctionner correctement.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 124
    Points : 94
    Points
    94
    Par défaut
    Merci de ce conseil. Je vais bien sur le suivre.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 124
    Points : 94
    Points
    94
    Par défaut
    il reste quand même un souci

    quand dans un script bash je fait
    ./sript.pl
    perl me repond can't locate ... le module
    mais si je fait
    perl ./script.pl
    perl trouve le module

    y a t'il un moyen dans le bashrc par exemple de solutionner celà

  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
    Bonjour,

    Oui !
    Si tu es en Unix/Linux au début du script :
    #!/usr/bin/perl

    Si tu es en Windows, même principe c'est le répertoire qui contient perl.exe :
    #C:\Strawberry\perl\bin

    Enfin, toujours sous Windows si tu veux démarrer le script.pl par un double-clic dessus il faut avoir l'association de l'extension .pl dans le registre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Windows Registry Editor Version 5.00
     
    [HKEY_CLASSES_ROOT\.pl]
    @="pl_auto_file"
     
    [HKEY_CLASSES_ROOT\pl_auto_file]
    @=""
     
    [HKEY_CLASSES_ROOT\pl_auto_file\shell]
     
    [HKEY_CLASSES_ROOT\pl_auto_file\shell\open]
     
    [HKEY_CLASSES_ROOT\pl_auto_file\shell\open\command]
    @="C:\\Strawberry\\perl\\bin\\perl.exe \"%1\" %*"
    Pour les unilignes, vérifie que ton PATH contient bien le répertoire qui contient les modules, normalement le lib :
    C:\Strawberry\perl\lib (pour Windows)

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 124
    Points : 94
    Points
    94
    Par défaut
    merci de ta reponse, je vais essayé d'etre clair

    si dans l'entete du pl j'ai #!/usr/bin/perl
    et dans le bash je fait ./script.pl

    cela donne Can't locate Text/Unaccent/PurePerl.pm in @INC (@INC contains: /Library/Perl/5.16/darwin-thread-multi-2level /Library/Perl/5.16 /Network/Library/Perl/5.16/darwin-thread-multi-2level /Network/Library/Perl/5.16 /Library/Perl/Updates/5.16.2 /System/Library/Perl/5.16/darwin-thread-multi-2level /System/Library/Perl/5.16 /System/Library/Perl/Extras/5.16/darwin-thread-multi-2level /System/Library/Perl/Extras/5.16 .) at ../../scripts/sansaccent.pl line 4.
    > BEGIN failed--compilation aborted at ../../scripts/sansaccent.pl line 4.


    si je corrige l'entete par #!/usr/bin/perl5.16
    même punition
    alors que c'est sur que le module est présent

    si je me remet en !/usr/bin/perl
    et je fais perl ./script.pl
    ça fonctionne

    si je me remet en !/usr/bin/perl5.16
    et je fais perl ./script.pl
    ça fonctionne aussi

    voilà ou j'en suis sur l'unix de macos

  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
    J'ai un peu de mal à suivre

    Mais je vois au-dessus que tu as 2 versions de perl
    1) De ce que je comprends elles sont dans :
    /usr/bin/perl5.16
    et
    /usr/bin/perl ça serait la 5.10 ?

    Est-ce correct ?

    2) peux-tu coller ta variable $PATH

    3) peux-tu faire un essai en supprimant momentanément du PATH ce qui concerne la 5.10, autrement dit si j'ai suivi :
    /usr/bin/perl ... ET en fait tout ce qui fait référence directement à perl (5.10) et ses sous-répertoires
    et en conservant uniquement tout ce qui concerne perl5.12 et ses sous-répertoires...

  15. #15
    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
    Citation Envoyé par vidici
    je poserais bien la question de savoir si je peux faire un rm -r sur 5.10 mais cela ne concerne plus les modules.
    Citation Envoyé par Lolo78
    Il est probablement préférable de ne pas supprimer la version 5.10. Il y a des chances non négligeables qu'elle soit utilisée par le système d'exploitation (Linux ou autre), notamment pour les opérations d'upgrade système. Certaines choses pourraient ne plus fonctionner correctement.
    Lolo78 qui pratique c'est environnement plus que moi a certainement raison !

    Il y a peut-être quelque chose à tenter, et se dire que le système d'exploitation (Linux ou autre) a seulement besoin d'un Perl, et dans la mesure où la compatibilité ascendante est plutôt très bien gérée en Perl, faire ceci :

    1) renommer l'ancien répertoire /usr/bin/perl en /usr/bin/perl_ANCIEN
    2) veiller à ce que dans le PATH ne restent que les variables qui concernent Perl et non Perl5.10 et/ou perl5.16
    En fait n'avoir que le PATH avant l'installation de la 5.16
    3) renommer le répertoire de la dernière installation (5.16) en /usr/bin/perl
    4) supprimer tous les liens symboliques entre Perl et Perl5.10 et/ou Perl5.16

    Éventuellement vérifier ce que voit Perl :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -e 'print join "\n", @INC'
    Je pense que le système d'exploitation (Linux ou autre) devrait s’accommoder de Perl5.16 qui se trouverait alors en /usr/bin/perl

    En cas de pb lors d'une mise à jour ou autre faire momentanément le renommage inverse :

    passer /usr/bin/perl en /usr/bin/perl6.16
    puis /usr/bin/perl_ANCIEN en /usr/bin/perl
    Sans rien changer au PATH

    Puis ne se creuser la cervelle qui si vraiment les 2 versions sont concomitamment nécessaire

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 124
    Points : 94
    Points
    94
    Par défaut
    finalement je pense cette fois avoir trouvé la solution
    j'ai ajouté ceci à mon bashrc
    export PERL5LIB="/opt/local/lib/perl5/site_perl/5.16.3"
    et ça à l'air de fonctionner
    c'est à dire que je ne suis plus obligé e faire
    perl ./script.pl
    mais tout simplement
    ./script.pl
    ce qui est fort utile quelquefois
    merci à tous

  17. #17
    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
    Vu MERCI pour le retour.
    ATTENTION tout de même PERL5LIB sera effectif pour la 5.10 et la 5.16
    En cas de souci souviens-toi que tu as cette variable d'environnement de renseignée

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 124
    Points : 94
    Points
    94
    Par défaut
    Citation Envoyé par dmganges Voir le message
    Vu MERCI pour le retour.
    ATTENTION tout de même PERL5LIB sera effectif pour la 5.10 et la 5.16
    En cas de souci souviens-toi que tu as cette variable d'environnement de renseignée
    tout à fait, je tiens mon petit journal de bord.
    et si j'ai des souçis, tant mieux. c'est fou ce qu'on apprend avec deux cachets d'aspirine

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 08/06/2009, 11h09
  2. problème d'installation du module perl de net-snmp
    Par djamols dans le forum Windows XP
    Réponses: 1
    Dernier message: 11/01/2009, 17h57
  3. problème d'installation de module
    Par Jasmine80 dans le forum Modules
    Réponses: 3
    Dernier message: 04/06/2008, 15h16
  4. Réponses: 2
    Dernier message: 11/07/2007, 20h31
  5. [UBUNTU] Problème d'installation de modules PERL
    Par Premium dans le forum Ubuntu
    Réponses: 3
    Dernier message: 09/11/2006, 16h04

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