J'ai un script perl qui m'injurie à propos d'un module non trouvé :
> Can't locate Net/MAC.pm in @INC (@INC contains:
> /Library/Perl/Updates/5.10.0/darwin-thread-multi-2level
> ...etc, les INC standard de MacOSX
Pourtant, lorsque je fais perl -e 'print @INC;' j'ai les répertoires où
se trouvent le perlmod en question :
> [xavier@imac-xav ~]$ /usr/bin/perl -e 'print @INC;'
> /sw/lib/perl5/5.10.0/darwin-thread-multi-2level /sw/lib/perl5/5.10.0/
> ... puis les emplacements standard
Comment se fait il que perl lancé en one-liner les trouve, et pas lancé
par le shebang ?. D'ailleurs, la commande "perl bin/monscript.pl"
m'injurie également.
Ca fait pourtant des années que j'utilise ça. Dans mon login il y a ce
qu'il faut :
> if [ -z "$PERL5LIB" ]; then
> PERL5LIB=/sw/lib/perl5:/sw/lib/perl5/darwin
> else
> prepend_path PERL5LIB /sw/lib/perl5:/sw/lib/perl5/darwin
> fi
> export PERL5LIB
Ca a toujours marché jusqu'ici, je ne comprends pas.
Merci,
--
Xav
In your pomp and all your glory you're a poorer man than me,
as you lick the boots of death born out of fear.
(Jethro Tull)
-- Denis Dordoigne Membre de l'April - promouvoir et défendre le logiciel libre - april.org Rejoignez maintenant plus de 5 000 personnes, associations, entreprises et collectivités qui soutiennent notre action
Bonjour,
Ca a toujours marché jusqu'ici, je ne comprends pas.
Est-ce que l'option -T ne serait pas activée dans le shebang ?
--
Denis Dordoigne
Membre de l'April - promouvoir et défendre le logiciel libre - april.org
Rejoignez maintenant plus de 5 000 personnes, associations,
entreprises et collectivités qui soutiennent notre action
-- Denis Dordoigne Membre de l'April - promouvoir et défendre le logiciel libre - april.org Rejoignez maintenant plus de 5 000 personnes, associations, entreprises et collectivités qui soutiennent notre action
Paul Gaborit
À (at) Mon, 30 Aug 2010 15:41:00 +0200, (Xavier) écrivait (wrote):
J'ai un script perl qui m'injurie à propos d'un module non trouvé :
Can't locate Net/MAC.pm in @INC (@INC contains: /Library/Perl/Updates/5.10.0/darwin-thread-multi-2level ...etc, les INC standard de MacOSX
Pourtant, lorsque je fais perl -e 'print @INC;' j'ai les répertoires où se trouvent le perlmod en question :
[ ~]$ /usr/bin/perl -e 'print @INC;' /sw/lib/perl5/5.10.0/darwin-thread-multi-2level /sw/lib/perl5/5.10.0/ ... puis les emplacements standard
Comment se fait il que perl lancé en one-liner les trouve, et pas lancé par le shebang ?. D'ailleurs, la commande "perl bin/monscript.pl" m'injurie également.
Ca fait pourtant des années que j'utilise ça. Dans mon login il y a ce qu'il faut :
if [ -z "$PERL5LIB" ]; then PERL5LIB=/sw/lib/perl5:/sw/lib/perl5/darwin else prepend_path PERL5LIB /sw/lib/perl5:/sw/lib/perl5/darwin fi export PERL5LIB
Ca a toujours marché jusqu'ici, je ne comprends pas.
N'avez-vous pas plusieurs versions de perl (celle d'Apple et d'autres) ? Les commandes suivantes donnent-elles la même chose :
% perl -V % /usr/bin/perl -V
Autre possibilité : vous utilisez l'option -T sur votre ligne de shebang...
-- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/> Perl en français - <http://perl.mines-albi.fr/>
À (at) Mon, 30 Aug 2010 15:41:00 +0200,
xavier@groumpf.org (Xavier) écrivait (wrote):
J'ai un script perl qui m'injurie à propos d'un module non trouvé :
Can't locate Net/MAC.pm in @INC (@INC contains:
/Library/Perl/Updates/5.10.0/darwin-thread-multi-2level
...etc, les INC standard de MacOSX
Pourtant, lorsque je fais perl -e 'print @INC;' j'ai les répertoires où
se trouvent le perlmod en question :
[xavier@imac-xav ~]$ /usr/bin/perl -e 'print @INC;'
/sw/lib/perl5/5.10.0/darwin-thread-multi-2level /sw/lib/perl5/5.10.0/
... puis les emplacements standard
Comment se fait il que perl lancé en one-liner les trouve, et pas lancé
par le shebang ?. D'ailleurs, la commande "perl bin/monscript.pl"
m'injurie également.
Ca fait pourtant des années que j'utilise ça. Dans mon login il y a ce
qu'il faut :
if [ -z "$PERL5LIB" ]; then
PERL5LIB=/sw/lib/perl5:/sw/lib/perl5/darwin
else
prepend_path PERL5LIB /sw/lib/perl5:/sw/lib/perl5/darwin
fi
export PERL5LIB
Ca a toujours marché jusqu'ici, je ne comprends pas.
N'avez-vous pas plusieurs versions de perl (celle d'Apple et d'autres) ?
Les commandes suivantes donnent-elles la même chose :
% perl -V
% /usr/bin/perl -V
Autre possibilité : vous utilisez l'option -T sur votre ligne de
shebang...
--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Perl en français - <http://perl.mines-albi.fr/>
À (at) Mon, 30 Aug 2010 15:41:00 +0200, (Xavier) écrivait (wrote):
J'ai un script perl qui m'injurie à propos d'un module non trouvé :
Can't locate Net/MAC.pm in @INC (@INC contains: /Library/Perl/Updates/5.10.0/darwin-thread-multi-2level ...etc, les INC standard de MacOSX
Pourtant, lorsque je fais perl -e 'print @INC;' j'ai les répertoires où se trouvent le perlmod en question :
[ ~]$ /usr/bin/perl -e 'print @INC;' /sw/lib/perl5/5.10.0/darwin-thread-multi-2level /sw/lib/perl5/5.10.0/ ... puis les emplacements standard
Comment se fait il que perl lancé en one-liner les trouve, et pas lancé par le shebang ?. D'ailleurs, la commande "perl bin/monscript.pl" m'injurie également.
Ca fait pourtant des années que j'utilise ça. Dans mon login il y a ce qu'il faut :
if [ -z "$PERL5LIB" ]; then PERL5LIB=/sw/lib/perl5:/sw/lib/perl5/darwin else prepend_path PERL5LIB /sw/lib/perl5:/sw/lib/perl5/darwin fi export PERL5LIB
Ca a toujours marché jusqu'ici, je ne comprends pas.
N'avez-vous pas plusieurs versions de perl (celle d'Apple et d'autres) ? Les commandes suivantes donnent-elles la même chose :
% perl -V % /usr/bin/perl -V
Autre possibilité : vous utilisez l'option -T sur votre ligne de shebang...
-- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/> Perl en français - <http://perl.mines-albi.fr/>
xavier
Paul Gaborit wrote:
N'avez-vous pas plusieurs versions de perl (celle d'Apple et d'autres) ?
Non, je prends bien soin de refuser à chaque fois que Fink veut m'installer perl588-core
Les commandes suivantes donnent-elles la même chose :
% perl -V % /usr/bin/perl -V
Oui,
[ ~]$ perl -V (ou /usr/bin/perl -V) Summary of my perl5 (revision 5 version 10 subversion 0) configuration: Platform: osnameÚrwin, osvers.0, archnameÚrwin-thread-multi-2level uname='darwin neige.apple.com 10.0 darwin kernel version 10.0.0d8: tue may 5 19:29:59 pdt 2009; root:xnu-1437.2~2release_i386 i386 ' [...] %ENV: PERL5LIB="/sw/lib/perl5:/sw/lib/perl5/darwin:/sw/lib/perl5/darwin: /sw/lib/perl5" @INC: /sw/lib/perl5/5.10.0/darwin-thread-multi-2level /sw/lib/perl5/5.10.0 /sw/lib/perl5/darwin-thread-multi-2level /sw/lib/perl5 /sw/lib/perl5/darwin /sw/lib/perl5/darwin /sw/lib/perl5/5.10.0/darwin-thread-multi-2level /sw/lib/perl5/5.10.0 /sw/lib/perl5/darwin-thread-multi-2level /sw/lib/perl5 /Library/Perl/Updates/5.10.0/darwin-thread-multi-2level /Library/Perl/Updates/5.10.0
Autre possibilité : vous utilisez l'option -T sur votre ligne de shebang...
J'y avais pensé, mais non, juste le "#!/usr/bin/perl -w" habituel...
Bon, je crois que j'ai trouvé : c'est sudo qui merdoie...
$ sudo monscript.pl foire $ sudo su - # /Users/xavier/bin/monscript.pl ça marche
En rajoutant Defaults env_keep += "PERL5LIB" à sudoers, ça marche. C'était sioux à trouver, et Apple a dû modifier son fichier sudoers à un moment où un autre, puisque ça fait au moins 7 ou 8 ans que j'utilisais des perlmods de fink (ou les miens dans fink/dist/local en l'occurence)
Merci à vous deux.
-- Xav In your pomp and all your glory you're a poorer man than me, as you lick the boots of death born out of fear. (Jethro Tull)
Paul Gaborit <Paul.Gaborit@invalid.invalid> wrote:
N'avez-vous pas plusieurs versions de perl (celle d'Apple et d'autres) ?
Non, je prends bien soin de refuser à chaque fois que Fink veut
m'installer perl588-core
Les commandes suivantes donnent-elles la même chose :
% perl -V
% /usr/bin/perl -V
Oui,
[xavier@imac-xav ~]$ perl -V (ou /usr/bin/perl -V)
Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
Platform:
osnameÚrwin, osvers.0, archnameÚrwin-thread-multi-2level
uname='darwin neige.apple.com 10.0 darwin kernel version 10.0.0d8:
tue may 5 19:29:59 pdt 2009; root:xnu-1437.2~2release_i386 i386 '
[...]
%ENV:
PERL5LIB="/sw/lib/perl5:/sw/lib/perl5/darwin:/sw/lib/perl5/darwin:
/sw/lib/perl5"
@INC:
/sw/lib/perl5/5.10.0/darwin-thread-multi-2level
/sw/lib/perl5/5.10.0
/sw/lib/perl5/darwin-thread-multi-2level
/sw/lib/perl5
/sw/lib/perl5/darwin
/sw/lib/perl5/darwin
/sw/lib/perl5/5.10.0/darwin-thread-multi-2level
/sw/lib/perl5/5.10.0
/sw/lib/perl5/darwin-thread-multi-2level
/sw/lib/perl5
/Library/Perl/Updates/5.10.0/darwin-thread-multi-2level
/Library/Perl/Updates/5.10.0
Autre possibilité : vous utilisez l'option -T sur votre ligne de
shebang...
J'y avais pensé, mais non, juste le "#!/usr/bin/perl -w" habituel...
Bon, je crois que j'ai trouvé : c'est sudo qui merdoie...
$ sudo monscript.pl foire
$ sudo su -
# /Users/xavier/bin/monscript.pl ça marche
En rajoutant
Defaults env_keep += "PERL5LIB"
à sudoers, ça marche. C'était sioux à trouver, et Apple a dû modifier
son fichier sudoers à un moment où un autre, puisque ça fait au moins 7
ou 8 ans que j'utilisais des perlmods de fink (ou les miens dans
fink/dist/local en l'occurence)
Merci à vous deux.
--
Xav
In your pomp and all your glory you're a poorer man than me,
as you lick the boots of death born out of fear.
(Jethro Tull)
N'avez-vous pas plusieurs versions de perl (celle d'Apple et d'autres) ?
Non, je prends bien soin de refuser à chaque fois que Fink veut m'installer perl588-core
Les commandes suivantes donnent-elles la même chose :
% perl -V % /usr/bin/perl -V
Oui,
[ ~]$ perl -V (ou /usr/bin/perl -V) Summary of my perl5 (revision 5 version 10 subversion 0) configuration: Platform: osnameÚrwin, osvers.0, archnameÚrwin-thread-multi-2level uname='darwin neige.apple.com 10.0 darwin kernel version 10.0.0d8: tue may 5 19:29:59 pdt 2009; root:xnu-1437.2~2release_i386 i386 ' [...] %ENV: PERL5LIB="/sw/lib/perl5:/sw/lib/perl5/darwin:/sw/lib/perl5/darwin: /sw/lib/perl5" @INC: /sw/lib/perl5/5.10.0/darwin-thread-multi-2level /sw/lib/perl5/5.10.0 /sw/lib/perl5/darwin-thread-multi-2level /sw/lib/perl5 /sw/lib/perl5/darwin /sw/lib/perl5/darwin /sw/lib/perl5/5.10.0/darwin-thread-multi-2level /sw/lib/perl5/5.10.0 /sw/lib/perl5/darwin-thread-multi-2level /sw/lib/perl5 /Library/Perl/Updates/5.10.0/darwin-thread-multi-2level /Library/Perl/Updates/5.10.0
Autre possibilité : vous utilisez l'option -T sur votre ligne de shebang...
J'y avais pensé, mais non, juste le "#!/usr/bin/perl -w" habituel...
Bon, je crois que j'ai trouvé : c'est sudo qui merdoie...
$ sudo monscript.pl foire $ sudo su - # /Users/xavier/bin/monscript.pl ça marche
En rajoutant Defaults env_keep += "PERL5LIB" à sudoers, ça marche. C'était sioux à trouver, et Apple a dû modifier son fichier sudoers à un moment où un autre, puisque ça fait au moins 7 ou 8 ans que j'utilisais des perlmods de fink (ou les miens dans fink/dist/local en l'occurence)
Merci à vous deux.
-- Xav In your pomp and all your glory you're a poorer man than me, as you lick the boots of death born out of fear. (Jethro Tull)
Paul Gaborit
À (at) Mon, 30 Aug 2010 16:56:08 +0200, (Xavier) écrivait (wrote):
Bon, je crois que j'ai trouvé : c'est sudo qui merdoie...
Ah ? D'où vient ce 'sudo' dont vous ne nous parliez pas dans le message initial ?
$ sudo monscript.pl foire $ sudo su - # /Users/xavier/bin/monscript.pl ça marche
En rajoutant Defaults env_keep += "PERL5LIB" à sudoers, ça marche.
Tant mieux.
C'était sioux à trouver, et Apple a dû modifier son fichier sudoers à un moment où un autre, puisque ça fait au moins 7 ou 8 ans que j'utilisais des perlmods de fink (ou les miens dans fink/dist/local en l'occurence)
Si vous aviez évoqué tout de suite 'sudo', nous vous aurions sans doute aiguillé vers ce genre de problèmes. Moi, ce qui m'étonne, c'est que ça marchait avant.
Merci à vous deux.
De rien, finalement... ;-)
-- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/> Perl en français - <http://perl.mines-albi.fr/>
À (at) Mon, 30 Aug 2010 16:56:08 +0200,
xavier@groumpf.org (Xavier) écrivait (wrote):
Bon, je crois que j'ai trouvé : c'est sudo qui merdoie...
Ah ? D'où vient ce 'sudo' dont vous ne nous parliez pas dans le message
initial ?
$ sudo monscript.pl foire
$ sudo su -
# /Users/xavier/bin/monscript.pl ça marche
En rajoutant
Defaults env_keep += "PERL5LIB"
à sudoers, ça marche.
Tant mieux.
C'était sioux à trouver, et Apple a dû modifier son fichier sudoers à
un moment où un autre, puisque ça fait au moins 7 ou 8 ans que
j'utilisais des perlmods de fink (ou les miens dans fink/dist/local en
l'occurence)
Si vous aviez évoqué tout de suite 'sudo', nous vous aurions sans doute
aiguillé vers ce genre de problèmes. Moi, ce qui m'étonne, c'est que ça
marchait avant.
Merci à vous deux.
De rien, finalement... ;-)
--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Perl en français - <http://perl.mines-albi.fr/>
À (at) Mon, 30 Aug 2010 16:56:08 +0200, (Xavier) écrivait (wrote):
Bon, je crois que j'ai trouvé : c'est sudo qui merdoie...
Ah ? D'où vient ce 'sudo' dont vous ne nous parliez pas dans le message initial ?
$ sudo monscript.pl foire $ sudo su - # /Users/xavier/bin/monscript.pl ça marche
En rajoutant Defaults env_keep += "PERL5LIB" à sudoers, ça marche.
Tant mieux.
C'était sioux à trouver, et Apple a dû modifier son fichier sudoers à un moment où un autre, puisque ça fait au moins 7 ou 8 ans que j'utilisais des perlmods de fink (ou les miens dans fink/dist/local en l'occurence)
Si vous aviez évoqué tout de suite 'sudo', nous vous aurions sans doute aiguillé vers ce genre de problèmes. Moi, ce qui m'étonne, c'est que ça marchait avant.
Merci à vous deux.
De rien, finalement... ;-)
-- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/> Perl en français - <http://perl.mines-albi.fr/>