Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Which packages should install for Architectures EM64T® , x86-64 , ia32 , IA64 , Intel®64 , x86 , amd64 , amd32 , Mach64 ?

share|improve this question

closed as unclear what you're asking by roadmr, Braiam, RolandiXor Oct 16 '13 at 2:23

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question.If this question can be reworded to fit the rules in the help center, please edit the question.

Mach64 is a GPU/co-processor architecture. Most of the rest are just a (marketing) alias for basically the same architecture as another in your listing. I can only 3 find truly distinct ones: x86, amd64 and IA-64. – David Foerster Oct 15 '13 at 20:53

In practice, on modern Windows and GNU/Linux, the following are indistinguishable (meaning, if your system claims to support at least one of these, the same software will run on these):

  • EM64T
  • x86-64
  • Intel 64
  • amd64

Likewise for these:

  • ia32
  • x86
  • amd32

IA64 is "Itanium", which is a totally different architecture that is not in any way related to any of the above.

Also, all modern CPUs that support the first group (amd64, etc.) also support code compiled for the second group (x86, etc.) because 64-bit CPUs can execute 32-bit code in a sort of compatibility mode.

There's also an x32 architecture, which is a very new development in software and currently only supported on GNU/Linux, which uses 32-bit addresses, with the 64-bit (amd64) architecture.

So, throwing out all the marketing terminology, what we really have as far as distinct software compatibility environments is:

  • amd64, which uses the 64-bit instruction set and uses 64-bit virtual addresses (actually 48-bit in current implementations);
  • x86, which uses the 32-bit instruction set and uses 32-bit virtual addresses;
  • IA64 also known as Itanium, which runs on "Itanium" CPUs only (and uses a 64-bit virtual address);
  • x32, which uses the 64-bit instruction set and 32-bit virtual addresses (basically the instructions/registers from amd64, and the memory model of x86). This results in slightly reduced memory usage in sacrifice for a lower maximum memory per process.
share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.