En los scripts de shell utilizados para las pruebas unitarias con bibliotecas dinámicas en un directorio que no sea el típico @rpath, anteriormente he podido configurar DYLD_FALLBACK_LIBRARY_PATH para establecer el directorio que contiene las bibliotecas. Bajo 10.11.1, bash parece ignorar los intentos de establecer esta variable de entorno:
$ sh -x testscript.sh
+ DYLD_FALLBACK_LIBRARY_PATH=/Users/something/testinglibs
+ export DYLD_FALLBACK_LIBRARY_PATH
+ exec printenv
y DYLD_FALLBACK_LIBRARY_PATH no está presente en la salida de printenv.
¿Es este un truco relacionado con la seguridad en el shell de 10.11? No he podido encontrar este cambio documentado en páginas de manual o en línea.
Respuestas:
Esta es la Protección de Integridad del Sistema introducida en El Capitan
La documentación está en esto de Apple
Básicamente, todos los ejecutables de OS X suministrados por Apple están protegidos. y (de un documento anterior)
En este caso sh está protegido
fuente
make check
en El Capitán cuando se necesitan bibliotecas compartidas?