1 votos

El binario compilado de MacOS se ejecuta en la carpeta de compilación, pero se informa de que ha muerto: 9 cuando se mueve a /usr/local/bin

Construyo una serie de herramientas en MacOS 10.15.6 usando clang desde Xcode 12.1. Cuando los binarios se construyen, completan las ejecuciones de prueba desde dentro de la carpeta de construcción. Sin embargo, cuando los copio a /usr/local/bin (estableciendo el propietario, el grupo y los permisos), todos salen al lanzarlos con "Killed: 9". dtrace/dtruss ambos simplemente reportan que sip está habilitado y nada más.

Las herramientas no son sandboxed y no hacen ningún truco a nivel del kernel. También he comprobado las banderas de xattr y no hay banderas establecidas.

¿Alguien tiene un consejo sobre una herramienta que podría utilizar en la plataforma Mac para determinar lo que está pasando (gdb no está instalado)?

Tim

5voto

Timpraetor Puntos 51

Esto fue causado por el almacenamiento en caché del kernel de los binarios previamente firmados y mi reemplazo de esos binarios con binarios recién compilados que no eran parte de un paquete firmado.

Borrando los binarios existentes, reiniciando el Mac para borrar la caché del kernel y volviendo a colocar los nuevos binarios en su lugar, solucioné el problema.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X