Ho aggiornato CUPS dalla 2.0.0 alla 2.0.2 su OS X 10.10.4 Yosemite per ragioni di sicurezza per consulenza da una scansione Nessus. Ho commesso il peccato capitale di non eseguire il backup del mio sistema operativo prima di apportare questa modifica. Sfortunatamente, molte app x86 sul mio sistema ora stanno visualizzando questo errore fatale:
Exception Type: EXC_BREAKPOINT (SIGTRAP) Exception Codes:
0x0000000000000002, 0x0000000000000000Application Specific Information: dyld: launch, loading dependent libraries
Dyld Error Message: Library not loaded: /usr/lib/libcups.2.dylib
Referenced from: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore Reason: no suitable image found. Did find: /usr/lib/libcups.2.dylib: mach-o, but wrong architecture /usr/lib/libcups.2.dylib: mach-o, but wrong architecture
Giusto abbastanza. Così ho deciso di eseguire lipo -info sulla libreria interessata, e afferma che la sua architettura è x86_64 ("File non grasso: /usr/lib/libcups.2.dylib is architecture: x86_64"). Ho dedotto che la fonte CUPS aveva bisogno dei flag x86 (i386) sulla configurazione dopo un po 'di ricerca sull'argomento. Quindi, quando ho eseguito un nuovo comando configure:
sudo ./configure CFLAGS="-arch i386 -arch x86_64" CXXFLAGS="-arch i386 -arch x86_64" LDFLAGS="-arch i386 -arch x86_64"
Il che è andato tutto bene e dandy, ma è stato eseguito con errori. Ho continuato comunque con il mio make e ho fatto i comandi di installazione in buona fede, ma ho scoperto che ora le applicazioni interessate non inizializzavano affatto o restituivano comunque errori fatali. Cosa sto facendo di sbagliato qui? Ho scaricato la fonte direttamente da CUPS.org se qualcuno si chiedesse.