glfs/multilib/whatisml.xml

65 lines
1.8 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="whatisml" xreflabel="What is Multilib?">
<?dbhtml filename="whatisml.html"?>
<title>What is Multilib?</title>
<para>
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 <option>x</option> can vary from 3 to 6
usually.
</para>
<sect2>
<title>How Does it Work?</title>
<para>
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.
</para>
<note>
<para>
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.
</para>
</note>
</sect2>
<sect2>
<title>Am I Capable of Multilib?</title>
<para>
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.
</para>
<para>
Run <command>uname -m</command> to find out if you are on a
capable CPU.
</para>
</sect2>
</sect1>