Discussion:
Incoherences dans @INC
(trop ancien pour répondre)
Xavier
2010-08-30 13:41:00 UTC
Permalink
Bonjour,
/Library/Perl/Updates/5.10.0/darwin-thread-multi-2level
...etc, les INC standard de MacOSX
/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
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
2010-08-30 14:02:51 UTC
Permalink
Bonjour,
Post by Xavier
Ca a toujours marché jusqu'ici, je ne comprends pas.
Est-ce que l'option -T ne serait pas activée dans le shebang ?

http://perl.enstimac.fr/DocFr/perlsec.html#mode%20taint%20et%***@inc
--
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
2010-08-30 14:06:56 UTC
Permalink
À (at) Mon, 30 Aug 2010 15:41:00 +0200,
Post by Xavier
/Library/Perl/Updates/5.10.0/darwin-thread-multi-2level
...etc, les INC standard de MacOSX
/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
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
2010-08-30 14:56:08 UTC
Permalink
Post by Paul Gaborit
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
Post by Paul Gaborit
% perl -V
% /usr/bin/perl -V
Oui,

[***@imac-xav ~]$ perl -V (ou /usr/bin/perl -V)
Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
Platform:
osname=darwin, osvers=10.0, archname=darwin-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
Post by Paul Gaborit
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
2010-08-30 15:21:47 UTC
Permalink
À (at) Mon, 30 Aug 2010 16:56:08 +0200,
Post by Xavier
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 ?
Post by Xavier
$ sudo monscript.pl foire
$ sudo su -
# /Users/xavier/bin/monscript.pl ça marche
En rajoutant
Defaults env_keep += "PERL5LIB"
à sudoers, ça marche.
Tant mieux.
Post by Xavier
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.
Post by Xavier
Merci à vous deux.
De rien, finalement... ;-)
--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Perl en français - <http://perl.mines-albi.fr/>
Loading...