[ Perl ] Modifier le @INC de Perl pour qu il trouve ses modules

Modifier le @INC de Perl pour qu il trouve ses modules [ Perl ] - Linux et OS Alternatifs

Marsh Posté le 12-09-2002 à 23:32:23    

bien le bonsoir tout le monde !
voila mon probleme avec un petit truc en perl :
 
 

Code :
  1. bemixam@zero geronimo $ ./geronimo
  2. Can't locate Tk.pm in @INC (@INC contains: /usr/lib/perl5/5.6.1/i686-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/i686-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl . Idle/ Idle/blib/arch/auto/Idle/) at Geronimo.pm line 29.
  3. BEGIN failed--compilation aborted at Geronimo.pm line 29.
  4. Compilation failed in require at geronimo.pl line 24.
  5. BEGIN failed--compilation aborted at geronimo.pl line 24.

 
 
et le meme probleme, mais cette fois-ci avec un emerge de frozen-bubble :
 

Code :
  1. root@zero bemixam # emerge frozen-bubble 
  2. Calculating dependencies ...done!
  3. >>> emerge app-games/frozen-bubble-0.9.3-r1 to /
  4. >>> md5 ;-) frozen-bubble-0.9.3.tar.bz2
  5. >>> Unpacking source...
  6. >>> Unpacking frozen-bubble-0.9.3.tar.bz2
  7. >>> Source unpacked.
  8. Can't locate SDL.pm in @INC (@INC contains: /usr/lib/perl5/5.6.1/i686-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/i686-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl .) at -e line 1.
  9. BEGIN failed--compilation aborted at -e line 1.
  10.     *** I need perl-SDL installed
  11. make: *** [dirs] Error 1
  12. !!! ERROR: The ebuild did not complete successfully.
  13. !!! Function src_compile, Line 2, Exitcode 2
  14. !!! (no error message)


 
dans le doute j ai ajoute "tcltk" dans ma variable USE et j ai recompile perl
mais sans succes ....  
 :(  
 
 
une idee ?


Message édité par bemixam le 13-09-2002 à 00:21:45
Reply

Marsh Posté le 12-09-2002 à 23:32:23   

Reply

Marsh Posté le 13-09-2002 à 00:20:20    

bon apparement les modules sont bien la mais pas dans le path dans lequel il cherche ...
 
comment on modifie le path de perl ? ( enfin le @INC dans lequel il cherche )

Reply

Marsh Posté le 13-09-2002 à 00:31:52    

il vaut mieux que les .pm se trouve dans le path classique. normalement il y a une procédure d'install standardisée pour les modules perl.


Message édité par superX le 13-09-2002 à 00:35:55
Reply

Marsh Posté le 13-09-2002 à 00:44:32    

oui evidement mais par default il met pas le bon path ( sans doute un default du package :D )
 
voila le @INC :

Code :
  1. @INC contains: /usr/lib/perl5/5.6.1/i686-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/i686-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl . Idle/ Idle/blib/arch/auto/Idle/)


 

Code :
  1. bemixam@zero geronimo $ locate Tk.pm
  2. /usr/lib/site_perl/5.6.1/i686-linux/Tk.pm


 
bref c est normal qu il ne trouve pas le package ...
qqun sait il comment on modifie ce @INC ?

Reply

Marsh Posté le 13-09-2002 à 00:47:40    

crée un repertoire Tk dans lequel tu mets Tk.pm . Normalement il devrait etre 'vu'  

Reply

Marsh Posté le 13-09-2002 à 00:54:55    

et d'apres ton 1er post c'est SDL.pm qu'il cherche ...

Reply

Marsh Posté le 13-09-2002 à 01:01:44    

Code :
  1. root@zero bemixam # locate SDL.pm
  2. /usr/lib/site_perl/5.6.1/i686-linux/SDL.pm


 
meme probleme pour SDL et Tk ... et je suppose avec tous les autres modules ... c est pour ca que j aimerais modifier le PATH
 
je preferais modifier le PATH plutot que de deplacer / creer des rep
c est plus propre, et ca m eviteras de le faire a chaque fois.
 
c est quand meme bizarre qu il ne rajoute pas le PATH kivabien dans le @INC de Perl quand on emerge les modules :(

Reply

Marsh Posté le 13-09-2002 à 01:02:43    

Bemixam a écrit a écrit :

 
 
 
je preferais modifier le PATH plutot que de deplacer / creer des rep
c est plus propre, et ca m eviteras de le faire a chaque fois.
 




 
 
:D

Reply

Marsh Posté le 13-09-2002 à 02:01:45    

bon j ai trouve !!! *content*
 
voila le remede :
 
$> emerge ExtUtils-MakeMaker perl-tk sdl-perl
 
allez savoir pourquoi un simple "emerge  perl-tk sdl-perl" n avait pas suffit ... il fallait rajouter ExtUtils-MakeMaker
 
 
voila :D

Reply

Marsh Posté le 13-09-2002 à 02:04:57    

arf voila autre chose maintenant :D
 
 

Code :
  1. >>> Install frozen-bubble-0.9.3-r1 into /var/tmp/portage/frozen-bubble-0.9.3-r1/image/ category app-games
  2. make[1]: Entering directory `/var/tmp/portage/frozen-bubble-0.9.3-r1/work/frozen-bubble-0.9.3/c_stuff'
  3. test -e Makefile_c || perl Makefile.PL
  4. make -f Makefile_c install
  5. make[2]: Entering directory `/var/tmp/portage/frozen-bubble-0.9.3-r1/work/frozen-bubble-0.9.3/c_stuff'
  6. ACCESS DENIED  mkdir:     /usr/lib/perl5/site_perl/5.6.1/i686-linux/auto/fb_c_stuff
  7. mkdir /usr/lib/perl5/site_perl/5.6.1/i686-linux/auto/fb_c_stuff: Permission denied at /usr/lib/perl5/5.6.1/ExtUtils/Install.pm line 137
  8. make[2]: *** [pure_site_install] Error 255
  9. make[2]: Leaving directory `/var/tmp/portage/frozen-bubble-0.9.3-r1/work/frozen-bubble-0.9.3/c_stuff'
  10. make[1]: *** [install] Error 2
  11. make[1]: Leaving directory `/var/tmp/portage/frozen-bubble-0.9.3-r1/work/frozen-bubble-0.9.3/c_stuff'
  12. make: *** [install] Error 2
  13. !!! ERROR: The ebuild did not complete successfully.
  14. !!! Function src_install, Line 1, Exitcode 2
  15. !!! (no error message)
  16. --------------------------- ACCESS VIOLATION SUMMARY ---------------------------
  17. LOG FILE = "/tmp/sandbox-frozen-bubble-0.9.3-r1-32244.log"
  18. mkdir:     /usr/lib/perl5/site_perl/5.6.1/i686-linux/auto/fb_c_stuff
  19. --------------------------------------------------------------------------------

 
 
 
j arriverais a jouer a frozen-bubble !!!! j y arriverais !  :fou:  
 

Reply

Marsh Posté le 13-09-2002 à 02:04:57   

Reply

Marsh Posté le 13-09-2002 à 02:49:00    

dans /etc/make.conf.build , enleve sandbox de la variable FEATURE . J'ai testé , ca fonctionne ;)
 
( d'apres http://www.gentoo.org/doc/portage-manual-fr.html )

Reply

Marsh Posté le 13-09-2002 à 02:52:13    

pardon , dans /etc/make.globals .

Reply

Marsh Posté le 13-09-2002 à 03:28:48    

héhé 29eme round dès la 1ere partie :sol:  

Reply

Marsh Posté le 21-09-2002 à 12:49:44    

J'ai eu le même problème, j'ai 2 p'tites questions :
- as tu mis :
    * LANG="fr_FR@euro"
    * LANGUAGE="fr_FR@euro"
    * LC_ALL="fr_FR@euro"
dans /etc/env.d/00basic
j'avais trouvé ce truc sur http://gentoofr.org/gen.php/2002/08/02/19,0,1,0,0.html
 
- FEATURES="sandbox ccache", c'est quoi?
 
merci, pour ce topic car je vais puvoir jouer à Frozen-Bubble avec ma copine! et je vais pouvoir tester DVDRip!


---------------
Jyp
Reply

Marsh Posté le 21-09-2002 à 13:05:50    

sandbox servirait à la 'protection de path' et là j'avoue que je pige pas trop !  
mais bon j'ai eu les memes soucis que bemixam , j'ai viré cette option du FEATURE et c'est passé , sans aucun soucis ...va comprendre .

Reply

Marsh Posté le 21-09-2002 à 13:15:00    

netoid2 / # set | grep "^LC"
LC_ALL=C
LC_COLLATE=fr_FR
LC_CTYPE=fr_FR
LC_MESSAGES=fr_FR
LC_MONETARY=fr_FR
LC_NUMERIC=fr_FR
LC_TIME=fr_FR

Reply

Marsh Posté le 21-09-2002 à 13:22:08    

superX a écrit a écrit :

netoid2 / # set | grep "^LC"
 
LC_ALL=C
LC_COLLATE=fr_FR
LC_CTYPE=fr_FR
LC_MESSAGES=fr_FR
LC_MONETARY=fr_FR
LC_NUMERIC=fr_FR
LC_TIME=fr_FR
 




tu as mis ca dans quel fichier?


---------------
Jyp
Reply

Marsh Posté le 21-09-2002 à 13:30:27    

c'etait juste un apercu des variables.  
 
sinon j'ai mis le LC_ALL="C" dans /etc/env.d/00basic

Reply

Marsh Posté le 21-09-2002 à 13:39:03    

tu as gimp en français?


---------------
Jyp
Reply

Marsh Posté le 21-09-2002 à 13:41:11    

non ;)  et je m'en fous un peu t'avouerais je ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed