Table of Contents
Description of the various sub-profiles of installation directories that support simultaneous installation of software conforming to more than one ABI, and simultaneous availability of libraries, header files, etc. for native and cross compilation.
At least two new approaches to multiarch support have been developed since the text below was last properly revised.
These directories can be used as alternative values of libdir by
distributions that support execution of machine-code programs conforming to several
different application binary interfaces (ABI); the <qual>
part of the directory name identifies each ABI. For example, distributions that support use
of both 32- and 64-bit addressing, for a single base CPU architecture, might have
lib32 and lib64. When building a package of
software using 32-bit addressing, libdir would be set to
, and when building a package
of software using 64-bit addressing, it would be set to
$(prefix)/lib32.
$(prefix)/lib64
Note that these alternatives are only provided for
libdir, not for bindir or any of the other directories
that contain architecture-dependent
files.
Distributions that use these directories should either make
/usr/lib be a symbolic link to one of its
sibling /usr/lib directories, or they
should make one of these directories be a symbolic link to <qual>/usr/lib.
Distributions using the
split /usr profile
may also relocate files from each
/usr/lib directory they have, to
the matching top-level directory,
<qual>/lib.
The set of relocated files is unspecified.<qual>
When there are top-level
/lib directories, either
<qual>/lib should be a symbolic link to one of them, or one of them
shoudl be a symbolic link to /lib.
Distributions using the merged /usr
profile may make some of the files in their
/usr/lib directories also be
accessible via the matching top-level directory,
<qual>/lib.
The set of files accessible this way is unspecified.<qual>