Determining if an application is 64 bit, 32 bit or both
With the release of Leopard Macs now have the ability to run 64 bit applications natively from the GUI. Tiger, the previous release of the OS, supported 64 bit applications but only at the command line. Also, most Macintosh applications these days come as Universal Binaries so they can run on Intel and PowerPC machines.
So how do you tell if you have a 64 bit capable application?
The first place to look is the “Get Info” box of the application itself. If it has a checkbox that gives you the option to run it as a 32 bit application then it is 64 bit. But, is it 64 bit for Intel machines only or for both PowerPC and Intel?
The solution to the problem is found in Terminal using the file command.
Open up Terminal and cd into your application and find the actual compiled binary. This is located in /Contents/MacOS inside your application.
So, for example, if I wanted to check out iWeb I would type the following:
cd /Applications/iWeb.app/Contents/MacOS/
Typing ls once you are inside the app will show you the actual name of the binary.
Now, use the file command on that binary.
file iWeb
That returns the following:
iWeb: Mach-O universal binary with 2 architectures
iWeb (for architecture ppc): Mach-O executable ppc
iWeb (for architecture i386): Mach-O executable i386
Here’s how to read the results:
(for architecture ppc) = 32 bit PowerPC executable
(for architecture ppc64) = 64 bit PowerPC executable
(for architecture i386) = 32 bit Intel executable
(for architecture x86_64) = 64 bin Intel executable
So, we can see that iWeb has one 32 bit executable for PowerPC machines and one 32 bit executable for Intel (i386) machines.
webmaster :: Feb.11.2008 :: Management, System, Terminal :: 8 Comments »
8 Responses to “Determining if an application is 64 bit, 32 bit or both”
This is totally wrong. You mean file not find.
The “find” command will tell you nothing about the architecture a binary was compiled for.
The “file” command on the other hand will do what is described in this article!
You are absolutely correct. Thanks for catching my typo. “File” was the command I meant to type but in a “not paying attention moment” typed “Find” instead. I’ve made the correction. Thanks for spotting that.
Save yourself a lot of trouble, just open up Activity Monitor and for all open applications it’ll tell you if it’s 64 bit (or 32 bit by default).
The Activity Monitor only shows “Intel” on al the applications, how do I know if it’s 32 or 64?
Use System Profiler to see if it’s 32 or 64 bit.
@Blondie, that’s only helpful if you want to know what architecture the app is running under. I often want to know all the architectures the binary is compiled for, so the “file” command is very helpful.
@Tuto, the “Kind” column in Activity Monitor will tell you if it is running 32 or 64 bit.
Helpful. Thanks.
[…] For more info, see this Mac Stuff article. […]