On Mon, 11 Feb 2002, Brook Milligan wrote:
> I have the sun java packages (linux binaries) installed on one machine
> which is acting as an NFS server for another; the server exports
> /usr/pkg, /var/db/pkg, and /home (among other things).
Is "/emul/linux" on the client a symlink to "/usr/pkg/emul/linux"?
> On the server the binary responds properly;
> however, on the client the binary complains about an unexpected
> redirection (which doesn't exist in the arguments given by the calling
> script).
> It is completely unclear to me what is different between these two
> calling environments.
Nor I. Are the two both running the same version of NetBSD, or what?
[You didn't say.]
> In the
> execution sequence, the failing binary is the first linux executable
> and hence the first thing run under emulation. Is there something
> in the linux emulation that could trigger something like this?
The kernel does path translation for programs run under emulation, so
that a stat() or open() for "/file/foo" will operate on
"/emul/linux/file/foo" if it exists, else "/file/foo". This works for
most things, but it tends to confuse programs, like shells, that try to
compute their current directory. I can't explain, though, why it would
work on one machine and not the other, unless the symlink is missing.
Frederick