Hi,

I know it won't be relevant to Debian for a while, but we're planning to
upload to the upcoming glibc 2.34 release in Ubuntu fairly soon and I want
to make sure we adapt to an upstream way in a way that is aligned with any
plans for Debian.

The issue is this: 2.33 and previous releases install the dynamic linker
and libc as files with names like ld-${GLIBC_VERSION}.so and
libc-${GLIBC_VERSION}.so and makes symlinks from the SONAME  to these files
(for example ld-linux-x86-64.so.2 -> ld-2.31.so, libc.so.6 -> libc-2.31.so).
2.34 and later will just install the libraries directly to the SONAME
location.

There is another wrinkle of course in that Debian/Ubuntu install these
files to /lib/$multiarch/, not /lib or /lib64 as upstream expects.

What I've implemented[0] for Ubuntu (only for testing so far) is to install
libc to /lib/$multiarch/libc.so.6, the dynamic linker to
/lib/$multiarch/$dynamic_linker_soname, and then have a symlink from the
ABI-mandated dynamic linker path to the new path for the dynamic linker.
This feels like a reasonable compromise between the upstream changes and
what Debian does to me but I'm certainly interested in hearing other
opinions (ideally before Ubuntu feature freeze :-p).

Cheers,
mwh

[0] My implementation is
https://git.launchpad.net/~mwhudson/ubuntu/+source/glibc/commit/?id=322df64079efe63bdc0970214bd46da27d5b167f
but I'm not exactly proud of it -- the design is the more important thing!

Reply via email to