From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) 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 Message-ID: <87d2rdgaji.fsf@gnu.org> References: <87bo6yaxp9.fsf@karetnikov.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35053) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UqUPl-0003Gk-Mv for bug-guix@gnu.org; Sat, 22 Jun 2013 16:28:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UqUPk-00056H-LY for bug-guix@gnu.org; Sat, 22 Jun 2013 16:28:05 -0400 Received: from hera.aquilenet.fr ([141.255.128.1]:53802) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UqUPk-00056A-Ft for bug-guix@gnu.org; Sat, 22 Jun 2013 16:28:04 -0400 In-Reply-To: <87bo6yaxp9.fsf@karetnikov.org> (Nikita Karetnikov's message of "Sat, 22 Jun 2013 20:59:14 +0400") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org To: Nikita Karetnikov Cc: bug-guix@gnu.org Nikita Karetnikov skribis: > # ./pre-inst-env guix build -K --no-substitutes coreutils What=E2=80=99s 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 22= 9. > 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=E2=80=99s backquote thing uses /bin/sh, but then we= =E2=80=99d 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=E2=80=99s a different issue. Actually, I would leave it as i= s, because chroot honors $SHELL: /* No command. Run an interactive shell. */ char *shell =3D getenv ("SHELL"); if (shell =3D=3D NULL) shell =3D bad_cast ("/bin/sh"); And also because in the GNU System there=E2=80=99ll be /bin/sh as a symlink= to the =E2=80=9Ccurrent=E2=80=9D Bash (as done on NixOS). WDYT? Thanks, Ludo=E2=80=99.