Actualicé CUPS de la versión 2.0.0 a la 2.0.2 en OS X 10.10.4 Yosemite por razones de seguridad según el consejo de un análisis de Nessus. Cometí el pecado capital de no hacer una copia de seguridad de mi sistema operativo antes de hacer este cambio. Desafortunadamente, muchas aplicaciones x86 en mi sistema están mostrando este error fatal:
Tipo de excepción: EXC_BREAKPOINT (SIGTRAP) Códigos de excepción:
0x0000000000000002, 0x0000000000000000Información específica de la aplicación: dyld: lanzamiento, carga dependiente bibliotecas
Mensaje de error de Dyld: Biblioteca no cargada: /usr/lib/libcups.2.dylib
Referenciado desde: /System/Library/Frameworks/ApplicationServices.framework/Versiones/A/Frameworks/PrintCore.framework/Versiones/A/PrintCore Razón: no se ha encontrado ninguna imagen adecuada. Sí se encontró: /usr/lib/libcups.2.dylib: mach-o, pero arquitectura incorrecta /usr/lib/libcups.2.dylib: mach-o, pero arquitectura incorrecta
Es justo. Así que decidí ejecutar lipo -info en la biblioteca afectada, y afirma que su arquitectura es x86_64 ("Non-fat file: /usr/lib/libcups.2.dylib is architecture: x86_64"). Deduje que el código fuente de CUPS necesitaba banderas x86(i386) en la configuración después de investigar un poco sobre el asunto. Así que cuando ejecuté un nuevo comando configure:
sudo ./configure CFLAGS="-arch i386 -arch x86_64" CXXFLAGS="-arch i386 -arch x86_64" LDFLAGS="-arch i386 -arch x86_64"
Lo cual estaba muy bien, pero se ejecutaba con errores. Continué de todos modos con mis comandos make y make install de buena fe, pero encontré que ahora las aplicaciones afectadas no se iniciaban en absoluto, o seguían devolviendo errores fatales. ¿Qué estoy haciendo mal aquí? He descargado la fuente directamente de CUPS.org si alguien se lo pregunta.