web-dev-qa-db-fra.com

dyld: les variables d'environnement DYLD_ sont ignorées car l'exécutable principal (/ usr/bin/Sudo) est setuid ou setgid

depuis une mise à jour à 10.8, l'erreur suivante apparaît lorsque j'essaie de faire une commande Sudo, ce qui est plutôt gênant.

dyld: DYLD_ environment variables being ignored because main executable (/usr/bin/Sudo) is setuid or setgid

Qu'est-ce que cela signifie? J'espère que tout le monde peut aider.

48
eneskaya

Cela semble être un bogue introduit dans 10.8, voir ce rapport . Autant que je sache, la seule solution de contournement n'est pas de définir DYLD_LIBRARY_PATH ou LD_LIBRARY_PATH par défaut, mais uniquement lorsque cela est nécessaire.

43
Erik Hesselink

En zsh:

Sudo () { ( unset LD_LIBRARY_PATH DYLD_LIBRARY_PATH; exec command Sudo $* ) }

Cela génère un sous-shell dans lequel les variables d'environnement dont Sudo se plaint est non définie, puis exécute Sudo (via exec pour que le parent Shell, devenu inutile, quitte immédiatement).

Je laisserai cela comme un exercice au lecteur de mettre en communication bash, et al.

20
Pinko

Je ne sais pas trop où est la solution officielle pour cela, mais je l'ai résolu avec ce bidouillage, parce que je ne pouvais plus gérer cet avertissement. 

mettez ceci dans le répertoire/etc/bashrc ou là où vous résidez.

# set DYLD_* for my normal programs
DYLD_LIBRARY_PATH='..'

# set an alternative Sudo
thesudo()
{
# back up the DYLD_* variables
local BACK=$DYLD_LIBRARY_PATH
# unset DYLD_*
unset DYLD_LIBRARY_PATH
# calling Sudo
/usr/bin/Sudo "$@"
# restore DYLD_* after Sudo finished
export DYLD_LIBRARY_PATH=$BACK
}

# redirect Sudo
alias Sudo=thesudo
7
jahrichie

Ceux qui utilisent Django (python pour le Web), avec mysql via MySQLdb (module Mysql-Python), ont besoin de cet ensemble de variables . Je garde donc cet avertissement pour le moment.

5
iannakin

Ce problème est enfin résolu sur OS X Mavericks (10.9), le message ne s'affiche plus sous Sudo.

1
Giannis

Il semble que les "correctifs" déjà mentionnés ne sont que des solutions de contournement qui pourraient ne pas fonctionner pour tous les utilisateurs. C'est un bogue connu dont Apple est (au moins) conscient: http://openradar.appspot.com/11894054

1
user2763068

Pas sûr qu'il s'agisse d'un vrai correctif, mais cette erreur a disparu lorsque j'ai lancé Clean Build Folder

0
Liliana Terry