What is Multilib?

Multilib is essentially the ability to at least execute software that was built for another architecture different from your own. For example, and most common: the user has a x86_64 CPU that is wanting to execute software built to run on a x86 CPU. To better establish terms, x86_64 is 64-bit and amd64, whereas x86 is 32-bit and ix86 where x can vary from 3 to 6 usually.

How Does it Work?

Multilib can be achieved firstmost by having the hardware capable of x86 emulation, then having libraries built for x86. We will get into how to compile x86 libraries and software and their execution later, but know the general process for LFS and BLFS is to almost always compile software and that's what we'll be doing.

[Note]

Note

It is worth noting that when the term multilib is used throughout this book, it is referring to running i686 instructions on an x86_64 host. This does not cover running other 32 bit architectures on their 64 bit extensions, like armhf on arm64.

Am I Capable of Multilib?

If you are on a 32-bit CPU, you are not capable of multilib. If you are on a 64-bit CPU, and are capable of 32-bit emulation, then you are capable of multilib.

Run uname -m to find out if you are on a capable CPU.