Mike Frysinger wrote:
> if you read FHS you'll see that both implementations are allowed.  Gentoo 
> isnt 
> violating anything here.  wrt LSB, who knows.  there are a ton of things we 
> dont follow with LSB.

Actually, at first, FHS says that any /lib<qual> would be allowed, but
it then goes into specifics in Chapter 6, Operating System Specific
Annex. Under the heading "/lib64 and /lib32 : 64/32-bit libraries
(architecture dependent)", it says, "The 64-bit architectures PPC64,
s390x, sparc64 and AMD64 must place 64-bit libraries in /lib64, and
32-bit (or 31-bit on s390) libraries in /lib."

>> The problem was that Gentoo's early amd64 implementation predated this
>> standardization, and we had chosen the other way.  While we've defaulted
>> to lib64 for 64-bit libs for years, it has never been considered anything
>> but experimental to break the lib --> lib64 link.  AFAIK stable
>> baselayout still doesn't get its libdir usage consistent, putting files
>> in one but actually calling them using the other path, and boot breaks in
>> various frustrating ways if lib and lib64 are not the same directory.
>> Openrc gets it better now, but I'm not sure it's all fixed either -- it
>> certainly wasn't last time I tried breaking the link.
> 
> your "AFAIK" isnt useful.  there are no open bugs about either version and 
> people assume that it's doing the right thing.

Personally, I do have a ~amd64 Gentoo chroot with LIBDIR_x86="lib".
There is only one place that I've found that it is still broken, namely
one line in toolchain.eclass (patch attached). I've been meaning to file
a bug for quite a while now, but never got around to it.

-- 
Jonathan
--- /usr/portage/eclass/toolchain.eclass
+++ toolchain.eclass
@@ -1956,8 +1956,7 @@ gcc_movelibs() {
                        ${LIBPATH}/${OS_MULTIDIR} \
                        ${LIBPATH}/../${MULTIDIR} \
                        ${PREFIX}/lib/${OS_MULTIDIR} \
-                       ${PREFIX}/${CTARGET}/lib/${OS_MULTIDIR} \
-                       ${PREFIX}/lib/${MULTIDIR}
+                       ${PREFIX}/${CTARGET}/lib/${OS_MULTIDIR}
                do
                        removedirs="${removedirs} ${FROMDIR}"
                        FROMDIR=${D}${FROMDIR}

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to