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.
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.
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.
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.