bug-guix
[Top][All Lists]
Advanced

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

Re: coreutils: Can't exec "/bin/sh": No such file or directory at ./man/


From: Ludovic Courtès
Subject: Re: coreutils: Can't exec "/bin/sh": No such file or directory at ./man/help2man
Date: Sat, 22 Jun 2013 22:22:57 +0200
User-agent: Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3 (gnu/linux)

Nikita Karetnikov <address@hidden> skribis:

> # ./pre-inst-env guix build -K --no-substitutes coreutils

What’s the output path for that?  (See "out" in
/nix/store/jyj752q3jjxj0xjgm7wh2xwhkckndab7-coreutils-8.21.drv, for
instance.)

Which Guix commit is it, and which platform?

> [...]
>
> Can't exec "/bin/sh": No such file or directory at ./man/help2man line 229.
> help2man: can't get '--help' info from man/chroot.td/chroot
> make[2]: *** [man/chroot.1] Error 2

The line in question is:

    join '', map { s/ +$//; expand $_ } `$ARGV[0] $_ 2>/dev/null`

It could be that Perl’s backquote thing uses /bin/sh, but then we’d have
noticed it elsewhere too (on Hydra, on my laptop, etc.)

Is the daemon doing chroot builds and build users?

> Binary file man/chroot.td/chroot matches
>
> # strings chroot | grep /bin/sh
> /bin/sh
> If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').
>
> Can this be fixed with 'substitute*'?

Yes, but that’s a different issue.  Actually, I would leave it as is,
because chroot honors $SHELL:

      /* No command.  Run an interactive shell.  */
      char *shell = getenv ("SHELL");
      if (shell == NULL)
        shell = bad_cast ("/bin/sh");

And also because in the GNU System there’ll be /bin/sh as a symlink to
the “current” Bash (as done on NixOS).

WDYT?

Thanks,
Ludo’.



reply via email to

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