Problemi con /usr/lib/libcups.2.dylib. le applicazioni x86 non verranno eseguite

1

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, 0x0000000000000000

Application 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.

    
posta shellcode 11.05.2015 - 21:32
fonte

1 risposta

1

Dal file INSTALL.txt:

Alle linee 101-104:

On OS X, use the "--with-archflags" option to build with the correct set of architectures:

./configure --with-archflags="-arch i386 -arch x86_64" ...

Basta digitare questi comandi:

./configure --with-archflags="-arch i386 -arch x86_64"
make 
sudo make install
    
risposta data 06.02.2016 - 16:22
fonte

Leggi altre domande sui tag