it-swarm.com.de

dyld: DYLD_-Umgebungsvariablen werden ignoriert, da die Hauptprogrammdatei (/ usr/bin/Sudo) setuid oder setgid ist

seit einem Update auf 10.8 erhalte ich die folgende Fehlermeldung, wenn ich versuche, einen Sudo-Befehl auszuführen, was ziemlich ärgerlich ist.

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

Was muss das heißen? Ich hoffe, dass jemand helfen kann.

48
eneskaya

Dies scheint ein in 10.8 eingeführter Fehler zu sein, siehe diesen Bericht . Soweit ich das beurteilen kann, ist die einzige Problemumgehung nicht, standardmäßig DYLD_LIBRARY_PATH oder LD_LIBRARY_PATH festzulegen, sondern nur, wenn dies erforderlich ist.

43
Erik Hesselink

In zsh:

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

Dies führt zu einer Sub-Shell, in der die Umgebungsvariablen, über die Sudo sich beschwert, nicht festgelegt werden, und führt dann Sudo aus (über exec, sodass die jetzt nicht mehr benötigte übergeordnete Shell sofort beendet wird).

Ich lasse es dem Leser als Übung überlassen, auf bash et al. Zu portieren.

20
Pinko

Ich bin nicht sicher, wo die offizielle Lösung ist, aber ich habe es mit diesem bashrc-Hack gelöst, weil ich diese verdammte Warnung nicht länger sehen konnte. 

schreibe dies in die/etc/bashrc oder wo auch immer du lebst.

# 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 "[email protected]"
# restore DYLD_* after Sudo finished
export DYLD_LIBRARY_PATH=$BACK
}

# redirect Sudo
alias Sudo=thesudo
7
jahrichie

Diejenigen, die Django (Python für Web) verwenden, mit MySQLdb (MySQLdb-Modul) und MySQLdb (MySQLdb), benötigen diese Variable set .

5
iannakin

Dieses Problem wurde unter OS X Mavericks (10.9) behoben. Die Meldung erscheint nicht mehr bei Sudo.

1
Giannis

Es scheint, dass die bereits erwähnten "Korrekturen" nur Problemumgehungen sind, die möglicherweise nicht für alle Benutzer funktionieren. Dies ist ein bekannter Fehler, den Apple (zumindest) kennt: http://openradar.appspot.com/11894054

1
user2763068

Ich bin nicht sicher, ob dies ein wahrer Fix ist, aber dieser Fehler verschwand beim Ausführen von Clean Build Folder

0
Liliana Terry