On Mon, May 5, 2014 at 8:34 AM, Tom Furie <t...@furie.org.uk> wrote:

> On Mon, May 05, 2014 at 06:44:30AM +0900, Joel Rees wrote:
>
> > Well, okay, we need to start somewhere, and, while we suspect ld, we
> don't
> > really know for sure. And we suspect that the actual fix may not end up
> > being in ld.
> >
> > So, what is the name of the package that is trying to load libc6:i386?
> That
> > probably isn't where the bug is, but it seems to be the cause of the bug.
>
> Well, in this case, Firefox was looking to link in some 32-bit
> libraries, but those libraries weren't installed, not even a 32-bit
> linker.
>
> The problem was required libraries not being installed, the symptom was
> a generic "file not found" error which led to all the confusion at the
> start of the thread.
>
> The reason the libraries weren't installed was that Firefox was
> installed from some external source without the user ensuring the
> relevant libraries were available to the application. Debian can't be
> held accountable for that.
>
> If the 32-bit Firefox had been able to talk to the 64-bit linker (I'm
> not sure that's even possible), then it would be up to the linker to
> return a more meaningful error than "file not found", at least tell us
> which library or which function was being requested, and so a bug could
> be reported against libc6 either generically or :amd64 (to be passed
> upstream).
>
> Otherwise there is no bug to be reported against Debian. I'm at best
> vague on what happens if an application can't find a linker to pull in
> requested libraries. Should the bug be reported against Firefox? It's an
> old version, are more recent versions more precise in their error
> messages in this kind of situation?
>
> Cheers,
> Tom
>

Precisely.

Although, if we wanted to get really crazy, we could say this is a bug in
the spec of ld. But if we go there, we have to acknowledge that the spec of
ld matches the general C/*nix run-time spec, so the bug is in ... (chasing
our semantic tail a bit) ... certain implementation-dependent, but de-facto
spec, low-level elements of the C run-time which make it hard to return
non-scalar error messages from low-level tools.

(I know that sounds like a string of buzz-words, but making it any simpler
just ends up as a pejorative reference to the 8086's lack of extra address
registers. :-\ )

-- 
Joel Rees

Be careful where you see conspiracy.
Look first in your own heart.

Reply via email to