[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#277972: glibc: Please change the remaining instances of 'lib64' to 'lib' on amd64



Kurt,

thanks for looking at my bug report (and for looking through so
many failed packages on pure64 during the last few days!).

On 04-Oct-24 15:55, Kurt Roeckx wrote:
> Atleast part of the patch looks totaly wrong to me.  Please do
> not change the location of the dynamic loader.  This is LSB
> requirement that it's placed in /lib64.  We've argued over this
> more than once.

The patch does not change the location of the dynamic loader.
The dynamic loader is currently installed in '/lib' by the 'glibc'
package and the patch will not change that. The dynamic loader is
currently also accessible via the '/lib64' symlink and the patch will
also not change that.

The patch just makes sure that glibc itself accesses the dynamic loader 
at the place where it installs it, namely in '/lib' and not in '/lib64'.
This is a good thing, because it makes the access work independently of
the '/lib64' symlink without loosing anything. 

This patch is harmless with respect to any LSB requirement.
The name of the dynamic loader, which is coded into every binary
can only be changed in the gcc package. This patch does not change 
that.

Furthermore, there is no LSB requirement which requires the
dynamic loader to be installed in '/lib64' or to be accessible
as '/lib64/ld-linux-x86-64.so.2'.
The LSB requires that the dynamic loader is accessible through 
'/lib64/ld-lsb-x86-64.so.2' (note the 'lsb' instead of 'linux' in the 
middle). This is being taken care of by the 'lsb' package 
which installs a symlink '/lib64/ld-lsb-x86-64.so.2'
which points to '/lib/ld-linux-x86-64-so.2' (actually, the current 
version of the 'lsb' package still has a bug which lets the symlink 
point to '/lib/ld-linux.so.2' instead). 

The LSB does not specify anything else regarding the location of 
the dynamic loader besides that is must be accessible through 
'/lib64/ld-lsb-x86-64.so.2'.

> > +--- ldd-rewrite.sed	2002-04-09 08:39:14.000000000 +0000
> > ++++ glibc-2.3.2/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed	2004-10-20 12:56:17.929716960 +0000
> > +@@ -1,3 +1,3 @@
> > + /LD_TRACE_LOADED_OBJECTS=1/a\
> > + add_env="$add_env LD_LIBRARY_VERSION=\\$verify_out"
> > +-s_^\(RTLDLIST=\)\(.*lib\)\(\|64\)\(/[^/]*\)\(-x86-64\)\(\.so\.[0-9.]*\)[ 	]*$_\1"\2\4\6 \264\4\5\6"_
> > ++s_^\(RTLDLIST=\)\(.*lib\)\(\|64\)\(/[^/]*\)\(-x86-64\)\(\.so\.[0-9.]*\)[ 	]*$_\1"\2\4\6 \2\4\5\6"_
> 
> I have no idea what this does, but I think it's about the same as
> the previous one.

Yes, this is basically the same as the previous one and the same as the 
above applies.

Regards
Andreas Jochens




Reply to: