| 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 -archssobre el ejecutable rechazado y sus dependencias no pertenecientes al sistema. - Comprueba con
otool -hvel header Mach-O y conotool -Llas bibliotecas dependientes. - Compara con la arquitectura del proceso real, no únicamente con la CPU física del Mac.
- Distingue
EBADARCHdeEBADMACHO: este último indica estructura Mach-O inválida, no ausencia de un slice de CPU.
Referencias técnicas
- Apple XNU: errno.h
- Apple XNU: Mach-O CPU and file-type fields
- Apple: Building a universal macOS binary
- Apple: Dynamic-library architecture requirements
¿Buscas un código diferente? Buscar otro código de estado o error.