1

I upgraded CUPS from 2.0.0 to 2.0.2 on OS X 10.10.4 Yosemite for security reasons per advisement from a Nessus scan. I committed the cardinal sin of not backing up my OS before making this change. Unfortunately, many x86 apps on my system are now displaying this fatal error:

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

Fair enough. So I decided to run lipo -info on the affected library, and it states that its architecture is x86_64("Non-fat file: /usr/lib/libcups.2.dylib is architecture: x86_64"). I deduced that the CUPS source needed x86(i386) flags upon configuration after a bit of research on the matter. So when I ran a new configure command:

sudo ./configure CFLAGS="-arch i386 -arch x86_64" CXXFLAGS="-arch i386 -arch x86_64" LDFLAGS="-arch i386 -arch x86_64"

Which was all well and dandy, but it executed with errors. I continued anyway with my make and make install commands on good faith, but found that now the affected applications either did not initiate at all, or still returned fatal errors. What am I doing wrong here? I downloaded the source directly from CUPS.org if anyone is wondering.

5
  • 10.10.4 is in beta so can't really say - normally I would suggest reinstalling the combo upgrade to get the Apple files back - basically touching Apple files will break things
    – mmmmmm
    May 11, 2015 at 20:08
  • It's really disheartening to say the least. I can't believe that I am unable to upgrade system components as a privileged user, even if the files come from Apple themselves.
    – shellcode
    May 11, 2015 at 20:44
  • Also you give all the details for the case you fixed but not the errors which actually give you problems and the files haven't come from Apple or at least you have not given details where.
    – mmmmmm
    May 11, 2015 at 20:46
  • Here is a pastebin of the config, make, and make install output cups.out
    – shellcode
    May 11, 2015 at 20:58
  • It seems as if the flags that I've used are being ignored, as they simply aren't compatible with my architecture. I think that you may be right, and I will be left with no other choice but to reinstall.
    – shellcode
    May 11, 2015 at 21:04

1 Answer 1

1

From the INSTALL.txt file:

At lines 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" ...

Just type in these commands:

./configure --with-archflags="-arch i386 -arch x86_64"
make 
sudo make install

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .