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.