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

Re: solved: `ls` shows file, `bash` says "No such file" ???



On Mon, May 5, 2014 at 8:34 AM, Tom Furie <tom@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 to: