Power PC error message on MacBook Pro

This issue recently appeared for us in our QA lab and we found the following.

Here’s the TL;DR:

  • The problem is with a corrupted Launch Services database.
  • The corruption can be fixed by forcing Launch Services to rebuild its database using the following command:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user

And some more detail for the curious:

In our case it was the LayOut app’s icon that was flagged with the “white circle and slash” while SketchUp and Style Builder looked fine. As expected based on the Finder icons, LayOut failed to run and presented the dreaded “You can’t open the application “SketchUp” because PowerPC applications are no longer supported.” error. SU and SB ran without any problems (again, this was expected based on their icons).

Digging into the Launch Services database with lsregister -dump we found that the entry for LayOut.app was incorrect and was missing the x86_64 flag (this is included in the “item flags” field of the lsregister output that @slbaumgartner included above). SketchUp.app and Style Builder.app were correctly marked as supporting x86_64 even though these app bundles came from the same dmg and the same build.

A bit of web searching revealed that Launch Services can be forced to rebuild its database using the command shown above. After rebuilding the database and rerunning lsregister -dump we found that LayOut.app’s entry was now correctly flagged as supporting x86_64, LayOut.app’s icon was no longer badged with the white circle and slash, and LayOut.app ran correctly when double-clicked in the Finder.

A few more tidbits:

  • As observed by some users, this problem can be fixed by moving the offending app bundle to a new location. This is because the Launch Services database contains the full path to the offending application so it treats the same bundle differently depending on its location on disk. If you move an app bundle to a new location, Launch Services will create a new database entry and that entry will not contain the corruption from the entry for the original location. This is also why the issue reappears if you move the app bundle from a location where it works back to a location where it previously failed.

  • Launching directly from the terminal by running SketchUp.app/Contents/MacOS/SketchUp will work even when launching from the Finder does not because direct invocation of the app’s executable binary in the terminal side-steps Launch Services.

3 Likes