Hi Aharon, Thanks for your explanation. Now I have another question. Why is the error message for ENOENT simply "No such file or directory", when the man page for execve has this complete description: "The file filename or a script or ELF interpreter does not exist, or a shared library needed for file or interpreter cannot be found."?
Thanks, -Mike On 1/1/13, Aharon Robbins <arn...@skeeve.com> wrote: > In article <mailman.16481.1357062499.855.bug-b...@gnu.org>, > Michael Williamson <michael.h.william...@gmail.com> wrote: >>Hi, >> >>I have a complaint. Apparently, when unknowingly attempting to run a >>32-bit executable file on a 64-bit computer, bash gives the error message >>"No such file or directory". That error message is baffling and >> frustratingly >>unhelpful. Is it possible for bash to provide a better error message >>in this case? >> >>Thanks, >>-Mike > > It's not Bash. That is the error returned from the OS in errno when > it tries to do an exec(2) of the file. Bash merely translates the > error into words. > > Depending on the distro, it's usually not too hard to install the 32 bit > compatibility files to support 32 bit executables. The "enterprise" > distibutions tend to do that by default, whereas the more free ones > (Fedora, Ubuntu, ...) require that you do it yourself. > > I agree, it's confusing. But it's a decision made by the kernel guys, > not Bash. > > HTH, > > Arnold > -- > Aharon (Arnold) Robbins arnold AT skeeve DOT com > P.O. Box 354 Home Phone: +972 8 979-0381 > Nof Ayalon Cell Phone: +972 50 729-7545 > D.N. Shimshon 99785 ISRAEL >