[Top][All Lists]

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

Re: Findutils failure due to reliance /bin/echo

From: Eelco Dolstra
Subject: Re: Findutils failure due to reliance /bin/echo
Date: Thu, 06 May 2010 17:49:55 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv: Gecko/20100422 Shredder/3.0.4


On 05/06/2010 05:13 PM, Ludovic Courtès wrote:

>> 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.

Unfortunately it's not obvious what the "right" compile-time value of _CS_PATH
should be.  On NixOS, it could be "/var/run/current-system/sw/bin/", but I'd
rather not put a NixOS-specific path like that in our Glibc, and it wouldn't
appear in the chroot anyway.

Eelco Dolstra | http://www.st.ewi.tudelft.nl/~dolstra/

reply via email to

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