Install 64 bit software on a 32 bit OS X – 10.5.8 – Leopard

32-bit64-bit

Can I install 64 bit software on a 32 bit OS X?
Or could I "update" my 32 bit OS X to 64 bit OS X?

This is what I get when I put uname -a in a terminal:

Darwin gaukhar-alibayevas-macbook.local 9.8.0 Darwin Kernel Version 9.8.0: 
Wed Jul 15   16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386

Best Answer

Short answer: if your model of MacBook has a 64-bit capable CPU, you can run 64-bit apps under 10.5.8. You can check the CPU with the command sysctl hw.cpu64bit_capable (0 means no, 1 means yes) or by looking up the model (if it has a "Core Solo" or "Core Duo" CPU it's 32-bit only; if it's a "Core 2 Duo" -- note the "2" -- it's 64-bit).

Long answer: OS X doesn't have 32-bit and 64-bit versions; it uses a universal binary format which allows programs, system components, etc to be installed with both 32- and 64-bit code, and the system simply picks the "best" one to use based on the CPU you're on. Over different versions of OS X, what comes with the OS has gradually migrated from 32-bit-only (through 10.2) to having minimal support for background-only 64-bit apps (10.3 and 10.4), to full support for 64-bit Cocoa apps (10.5), to a full 32/64 OS including the kernel (10.6) to actually starting to drop support for 32-bit mode (10.7 shipped with many 64-bit-only system apps, and will not run on a 32-bit-only CPU).

The 64-bit-capable kernel that was added in 10.6 is cool, but basically irrelevant to user applications. OS X is unusual in that it can transparently run 64-bit apps under a 32-bit kernel as well as 32-bit apps under a 64-bit kernel. Since 10.5 has full support for 64-bit Cocoa apps, upgrading to 10.6 is not necessary.

Adendum: even if you do upgrade to 10.6, the kernel may not actually run in 64-bit mode -- Apple configured it to boot in 32-bit mode on most models by default. If your model uses 64-bit EFI firmware, you can configure 10.6 to boot in 64-bit mode, but if it's an older one that uses 32-bit EFI, even that's not possible. But again, it doesn't really matter, since 64-bit apps work fine either way.