bug-findutils
[Top][All Lists]
Advanced

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

Re: Findutils failure due to reliance /bin/echo


From: Ludovic Courtès
Subject: Re: Findutils failure due to reliance /bin/echo
Date: Thu, 06 May 2010 17:13:48 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

Hi,

Eric Blake <address@hidden> writes:

> On 05/05/2010 04:30 PM, James Youngman wrote:
>>>>>> FAIL: l1, unexpected failure, child process exited abnormally, 
>>>>>> /tmp/nix-build-iqdrm25mpg40iivc59hjmdjjay1rfifp-findutils-4.5.10-git.drv-0/findutils-4.5.10-git/xargs/testsuite/../xargs:
>>>>>>  /bin/echo: No such file or directory
>>>>>
>>>>> This is due to the fact that there’s no /bin/echo in the build
>>>>> environment (actually /bin on NixOS contains only /bin/sh).
>
> That's a bug in Hydra's environment.  POSIX requires that all the
> standard utilities, including echo, be available for use by exec on the
> path listed by 'command -p getconf PATH'.

Indeed, “getconf PATH” returns “/bin:/usr/bin” on NixOS, which is
clearly wrong (and consequently, “command -p getconf PATH” says “command
not found”.)

I guess we should patch glibc to make it DTRT.  Glibc hardwires
‘_CS_PATH’ in sysdeps/unix/confstr.h.  POSIX loosely defines ‘_CS_PATH’
as “the value for the PATH environment variable that finds all standard
utilities.” [0]  Unless “standard utilities” is formally defined
somewhere, we could interpret it as “the path to Coreutils” and define
it accordingly.

Thoughts?

[0] http://www.opengroup.org/onlinepubs/9699919799/basedefs/unistd.h.html

> Even if it is also available as a shell builtin, that does not
> alleviate the requirement to also have it available on $PATH.

echo(1) *is* available in $PATH in the build environment, just like all
of Coreutils.

What would you think of ‘--with-echo’?

Thanks,
Ludo’.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]