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

Re: Bug#259302: base-files: Support for amd64. (fwd)



Stephen Frost <sfrost@snowman.net> writes:

> * Santiago Vila (sanvila@unex.es) wrote:
>> On Wed, 14 Jul 2004, Stephen Frost wrote:
>> > * Santiago Vila (sanvila@unex.es) wrote:
>> > > I have received the following bug report. Would you please be so kind
>> > > to provide some rationale for it? Specifically:
>> >
>> > Sure.
>> >
>> > > What are these symlinks for?
>> >
>> > AMD64 LSB support, in large part.
>> 
>> Isn't this what the "lsb" package is for?
>
> Well, except that they *have* to be there if the linker is there...

They also have to be there for configure scripts to find the right
libraries.

>> > > Exactly what software or package uses them?
>> >
>> > All packages use the /lib64 -> /lib symlink because the linker location
>> > is required by LSB to be /lib64/ld-(somethingorother).
>> 
>> That alone would only make /lib64 required, but not /usr/lib64 or
>> /usr/X11R6/lib64.

At first we only had /lib64 and /usr/lib64 but a large proportion of
sources faild to find the X libraries so we decided to add that link
as well.

> True, the others are less important I think, and more for LSB
> compliance.
>
>> For /lib64, why don't you just put the dynamic linker in /lib64?
>> 
>> How the requirement that the dynamic linker is at /lib64 becomes
>> a requirement that /lib and /lib64 are the same?
>> 
>> Perhaps are libraries required to be in /lib64 as well, not just the
>> dynamic linker? In such case, however, what is this lib64 thing good for?
>
> Right, the libraries are supposted to be in /lib64 as well for LSB
> compliance.  Moving where lots of Debian packages install their
> libraries would take a fair bit of effort though, and there's a better
> solution that we'll be doing instead when we get there.

The aim of pure64 was to make a 64bit amd64 port with the minimum
amount of change to the sources, i.e. as fast as possible. Providing
those 3 lib64 links makes thousands of sources build without change
while keeping LSB compliance.

>> Is it a way to allow coexistence of 32-bit and 64-bit libraries in the
>> same system? If so, would a symlink lib64 -> lib not destroy completely
>> the ability to have both kind of libraries in the system, because
>> of namespace problems?
>
> The original intent of lib/ and lib64/ was to allow coexistence, yes.
> Debian's packaging system, and Debian packages in general don't support
> this though so we've decided to not support the 32bit side of things on
> AMD64 and go purely 64bit (at least until multiarch).  We still want to
> be LSB compliant such that AMD64 binaries built for LSB will work on
> Debian's AMD64, and Debian AMD64 binaries will run on LSB AMD64 systems.
> With the approach we're using, we should be reasonably close to that,
> but that's what we need the symlinks for.
>
> Again, the usr/X11R6/lib64 and usr/lib64 could be in the 'lsb' package,
> I think, but, well, personally it seems more appropriate in base-files
> to me, esp. since the /lib64 symlink must be there.

I don't think its a good idea to spread the 3 links over multiple
packages. And any package containing the links must be
essential. Otherwise software that needs the link would have to
(pre)depend on it, which is unpractical.

>> Still confused.
>
> Hope this helps to clear it up. If you have any other questions please
> feel free to ask.
>
> 	Stephen

MfG
        Goswin



Reply to: