¿Qué significa el código errno 86 (EBADARCH) en macOS?

 
También puede significar:
ConstanteTipoSO
ERROR_INVALID_PASSWORDError de WindowsWindows
ESTRPIPEerrnoLinux
ELIBMAXerrnoSolaris
INSTRUCTION_COHERENCY_EXCEPTIONCódigo BSODWindows
Anterior Siguiente
ESTRPIPE ELIBMAX

EBADARCH

Qué significa EBADARCH en macOS

EBADARCH es un error de carga de Darwin para un tipo de CPU no compatible. El archivo puede ser un Mach-O estructuralmente válido; el problema es que no ofrece un slice que el proceso actual pueda usar.

En un producto universal no basta con revisar el ejecutable principal. Frameworks, plugins, helpers y bibliotecas privadas también deben contener una arquitectura compatible con el proceso que los carga.

Qué comprobar

  • Usa lipo -archs sobre el ejecutable rechazado y sus dependencias no pertenecientes al sistema.
  • Comprueba con otool -hv el header Mach-O y con otool -L las bibliotecas dependientes.
  • Compara con la arquitectura del proceso real, no únicamente con la CPU física del Mac.
  • Distingue EBADARCH de EBADMACHO: este último indica estructura Mach-O inválida, no ausencia de un slice de CPU.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.