ver variable rutas ruta restaurar mas mac establecer entorno consultar como aƱadir agregar macos command-line sudo osx-mountain-lion dyld

macos - rutas - variables de entorno dyld: DYLD_ que se ignoran porque el ejecutable principal(/ usr/bin/sudo) es setuid o setgid



system path (6)

desde una actualización a la 10.8 obtengo el siguiente error al intentar hacer un comando sudo, lo cual es bastante molesto.

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

¿Qué significa eso? Espero que alguien pueda ayudar.


Aquellos que usan django (python para web), con mysql a través de MySQLdb (módulo Mysql-Python), necesitan ese conjunto de variables. Así que solo guardo la advertencia por ahora.


En zsh:

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

Esto genera un subconjunto en el que las variables de entorno de las que sudo se queja no están establecidas, y luego ejecuta sudo (a través de exec para que el shell primario ahora no necesario salga inmediatamente).

Lo dejo como un ejercicio para el lector a portar a bash, et al.


Este problema finalmente se solucionó en OS X Mavericks (10.9), el mensaje ya no aparece en sudo.


Esto parece ser un error introducido en 10.8, consulte este informe . Por lo que puedo decir, la única solución no es establecer DYLD_LIBRARY_PATH o LD_LIBRARY_PATH de forma predeterminada, sino solo cuando sea necesario.


No estoy seguro de dónde está la solución oficial para esto, pero lo resolví con este truco bashrc, porque no podía lidiar con ver esa maldita advertencia por más tiempo.

ponlo en / etc / bashrc o donde sea que tuyo viva.

# 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


Parece que las "correcciones" ya mencionadas son solo soluciones temporales que pueden no funcionar para todos los usuarios. Este es un error conocido que Apple conoce (al menos): http://openradar.appspot.com/11894054