On Mon, 13.06.11 17:41, Miloslav Trmač (mitr(a)volny.cz) wrote:
On Mon, Jun 13, 2011 at 5:36 PM, Lennart Poettering
<mzerqung(a)0pointer.de> wrote:
> On Mon, 13.06.11 14:27, Matthew Garrett (mjg59(a)srcf.ucam.org) wrote:
>> It's a directory for arch-dependent stuff that should only exist once on
>> a system, whereas lib is for arch-dependent stuff that may exist for
>> multiple architectures on one system. I have no opinion on whether that
>> distinction is important.
>
> That is not really how it is. /lib is for arch-dependent stuff including
> the libraries of the primary arch. Libraries for secondary archs are
> then put in /usr/lib{64,arch}/.
On x86_64 the 64-bit arch is primary and the 32-bit arch is secondary.
Surely the 32-bit files don't belong to /usr/lib64?
Mirek
Oh, well, let me clarify this: the executable binaries are actually not
subarch-dependent: i.e. a 32bit process can spawn both 64bit and 32bit
binaries, and a 64bit process can spawn both, too. That means there is
no need to ship both versions of a binary, and while *arch-dependent* an
executable binary is not *subarch-dependent*. That means private
binaries unconditionally belong in /usr/lib, regardless for which
subarch they are compiled and you need only one version of them.
So putting this all together:
"/usr/lib is for arch-dependent stuff, including the libraries of the
primary arch, and all subarch-independent private executable
binaries. Libraries for secondary archs ("subarchs") are then but in
/usr/lib{64,arch}/."
Lennart
--
Lennart Poettering - Red Hat, Inc.