From mboxrd@z Thu Jan 1 00:00:00 1970 From: taylanbayirli@gmail.com (Taylan Ulrich =?UTF-8?Q?Bay=C4=B1rl=C4=B1/Kammer?=) Subject: bug#22354: Test failure when running distcheck from out-of-tree build Date: Wed, 13 Jan 2016 10:00:55 +0100 Message-ID: <87io2xvooo.fsf@T420.taylan> References: <87r3hnuple.fsf@T420.taylan> <87ziwan3kx.fsf@gnu.org> <87mvsavb61.fsf@T420.taylan> <87k2nea582.fsf@gnu.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]:57704) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aJHJd-0006qz-JT for bug-guix@gnu.org; Wed, 13 Jan 2016 04:02:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aJHJa-0004wF-9m for bug-guix@gnu.org; Wed, 13 Jan 2016 04:02:05 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:59586) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aJHJa-0004w3-6P for bug-guix@gnu.org; Wed, 13 Jan 2016 04:02:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84) (envelope-from ) id 1aJHJa-0005l4-0Q for bug-guix@gnu.org; Wed, 13 Jan 2016 04:02:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87k2nea582.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Tue, 12 Jan 2016 21:54:37 +0100") 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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 22354-done@debbugs.gnu.org ludo@gnu.org (Ludovic Court=C3=A8s) writes: > taylanbayirli@gmail.com (Taylan Ulrich "Bay=C4=B1rl=C4=B1/Kammer") skribi= s: > >> ludo@gnu.org (Ludovic Court=C3=A8s) writes: >> >>> taylanbayirli@gmail.com (Taylan Ulrich "Bay=C4=B1rl=C4=B1/Kammer") skri= bis: >>> >>>> If one runs distcheck from within the build directory of an out-of-tree >>>> build (perhaps a strange combination), the guix-environment.sh test >>>> fails with the following log snippet. >>> >>> [...] >>> >>>> ./configure: ./config.status: /home/taylan/src/guix/build/guix-0.9.1/_= build/sub/test-tmp/store/d41iyl2gyk0r: bad interpreter: No such file or dir= ectory >>> >>> I think you=E2=80=99re hitting the shebang limit (127 chars) that preve= nts you >>> from running test from that build tree. ./configure emits a warning in >>> this case, which you should see in =E2=80=98config.log=E2=80=99. >>> >>> So, not a bug, but it would have been nicer if =E2=80=98make check=E2= =80=99 had failed >>> directly. Commit bb25130 does that. >>> >>> Though now that I look again at the error above, I see that we=E2=80=99= re below >>> the 127 char limit. Weird. >> >> Hmm, that commit didn't fix the issue. > > You mean it doesn=E2=80=99t error out directly upon =E2=80=98make check= =E2=80=99? Could you > run =E2=80=9Cgrep length =E2=80=A6/_build/config.log=E2=80=9D? Yes, it still goes through the tests and fails at guix-environment.sh with the same error. I repeated all steps from a new clone of master. taylan@T420:~/src/guix/build$ grep length guix-0.9.1/_build/sub/config.log configure:6946: checking the length of the installed socket file name configure:6969: checking the length of the socket file name used in tests configure:6980: checking the length of a typical hash bang line configure:6992: checking the length of a hash bang line used in tests ac_cv_guix_hash_bang_length=3D73 ac_cv_guix_socket_file_name_length=3D74 ac_cv_guix_test_hash_bang_length=3D127 ac_cv_guix_test_socket_file_name_length=3D90 >> I'm also puzzled by the cut-off of the shebang string at 77 characters >> in the error message, so I looked into it a bit, but nothing strange >> here from what I can tell: the ./configure of make-4.1 is called with >> SHELL and CONFIG_SHELL set to >> >> /home/taylan/src/guix/build/guix-0.9.1/_build/sub/test-tmp/store/d41iyl2= gyk0rwd9z2ddgph9nyg48f3p0-bootstrap-binaries-0/bin/bash >> >> which is exactly 127 characters, but add #! and you have 129. This ends >> up being the shebang of config.status, which is why it fails while >> trying to call that. > > So the diagnostic was correct. > >> Only the error message is broken. > > Would be interesting to see which is the piece of software that has an > even lower limit here. For what it's worth, I confirmed that on my system (Debian 8), using /bin/bash (in case it should be relevant): - the hash bang limit of a called script is 127 characters, and - when I pass the limit, I get an error message where the path is truncated to 77 characters. Maybe it's something in Linux or in glibc. I don't know what other parts of the system are involved here. > Ludo=E2=80=99. Taylan