From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: 'linux-libre-headers': No such file or directory Date: Tue, 25 Jun 2013 14:10:00 +0200 Message-ID: <87k3lipf1j.fsf@gnu.org> References: <87hagm6epx.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]:53185) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UrS9M-0005Xw-8D for bug-guix@gnu.org; Tue, 25 Jun 2013 08:15:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UrS9H-00078F-G7 for bug-guix@gnu.org; Tue, 25 Jun 2013 08:15:08 -0400 Received: from hera.aquilenet.fr ([141.255.128.1]:58494) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UrS9H-000762-9g for bug-guix@gnu.org; Tue, 25 Jun 2013 08:15:03 -0400 In-Reply-To: <87hagm6epx.fsf@karetnikov.org> (Nikita Karetnikov's message of "Tue, 25 Jun 2013 07:39:38 +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: > Can anyone reproduce the following? No (on x86_64). > INSTALL include/asm-generic (34 files) > Can't exec "/bin/sh": No such file or directory at scripts/headers_instal= l.pl line 48. The line in question is: system $unifdef . " $tmpfile > $installdir/$file"; It could be that: 1. Perl=E2=80=99s =E2=80=98system=E2=80=99 function uses /bin/sh; 2. Perl=E2=80=99s =E2=80=98system=E2=80=99 uses libc=E2=80=99s =E2=80=98s= ystem=E2=80=99, which uses /bin/sh. In both cases, all architectures would be affected. To test these hypotheses, I tried this: echo 'system("ls > foo");' | \ strace -f -e execve /nix/store/lmpna53jc7mf9i4xjy9i45x6c8qznw94-perl-5.16= .1/bin/perl This shows that Perl invokes the shell produced by (@ (gnu packages base) bash-final): [pid 30223] execve("/nix/store/zch43a56qdchdw0xm3lwpr8ydg8ksx25-bash-4.2/= bin/sh", ["sh", "-c", "ls > foo"], [/* 72 vars */]) =3D 0 Process 30224 attached [pid 30224] execve("/home/ludo/.guix-profile/bin/ls", ["ls"], [/* 70 vars= */]) =3D 0 So I=E2=80=99m really clueless. In the build log of linux-libre-headers, you should see something like: patch-shebang: ./scripts/headers_install.pl: changing `/usr/bin/perl' to = `/nix/store/9nbvnlhr0glvwrg7bllz965g24snmgmn-perl-5.16.1/bin/perl' Is it the case? Any idea what changed in your setup lately (you used to build things fine, IIUC)? If you have Nix around, you can also try =E2=80=98nix-store --verify=E2=80= =99 to check if the store has been tampered with (which could easily happen if you run everything as root). HTH, Ludo=E2=80=99.