Reminder: Update prebinding for non-launching applications (especially Rosetta)
If you are having problems launching applications (especially those running under Rosetta), a first course of action to consider is an update of prebinding.
Prebinding is a process that, essentially, updates the information various applications store about where to find necessary shared libraries and other components. It can not only result in faster launch times, but also allow a non-launching application to work properly when there is a glitch in its addressing data.
According to Apple, application-level prebinding is no longer under Mac OS X 10.4.x, meaning that developers no longer need to prebind their applications before shipping them to customers. However, prebinding data can become corrupt or otherwise problematic, in which case a forced prebinding can prove useful.
A forced prebind is done at the end of most standard application installations, and can also be accomplished via the following process:
- Log in as an administrator
- Open the Terminal (located in Applications/Utilities)
- Type: sudo update_prebinding -root / -force and press Return.
- When prompted for a password, enter your admin password, and press Return again. The process may take a few minutes, and you may see various messages flash by. The process is complete when the Terminal returns to a normal prompt.
- Type exit and press Return.
- Check for the capability to launch problematic applications.
This, and other solutions for reviving non-launching applications can be found in our tutorial "What to do when a Mac OS X application will not launch."
Feedback? Late-breakers@macfixit.com.
Resources
<a href="http://developer.apple.com/releasenotes/DeveloperTools/RN-dyld/index.html">Prebinding is deprecated:</a> "In Mac OS X 10.4, unprebound applications launch about as fast as prebound applications. Therefore, application developers need no longer spend any time trying to built prebound applications."
I guess after repairing permissions doesn't help, you can always update prebindings...
OK, I guess I missed where you acknowledged this in the article. Now explain how "prebinding data can become corrupt or otherwise problematic"? This information is part of the binary of the application; if it's become corrupted, you might as well reinstall and be done with it...
And here is an Apple Knowledge Base article recommending a prebinding update for a problem where Final Cut Pro will not launch:
http://docs.info.apple.com/article.html?artnum=93984
That article was released while OS X 10.3.x was still the most current version.
So how does this help if prebinding is deprecated as of 10.4.x?
Regardless of one's interpretation regarding Apple's documentation on the subject, updating prebinding has been the direct and undisputed solution to a number of application launch problems in real user cases.
Voodoo eh? Well, this 'Voodoo' has helped me more than a few times, it's part of my standard arsenal.
If you wish I'm sure there would be a great deal of interest in a MFI competitor that you could start up and fund. You could even add to it's mission statement 'We don't do permissions or pre-binding". I'm sure you could be very successful.
;) ;) ;)
- by handymac2 October 11, 2006 6:41 AM PDT
- The article recommends going to the Terminal to do this, but if "A forced prebind is done at the end of most standard application installations", isn't this the "Optimizing the System" that appears at the end of the install process, and isn't that in turn the same as the "Optimize the system" task done by OnyX and other utilities? So why not do it with OnyX et al. rather than hassle with the Terminal?
- Like this Reply to this comment
-
(7 Comments)