bug-guix
[Top][All Lists]
Advanced

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

bug#22354: Test failure when running distcheck from out-of-tree build


From: Taylan Ulrich Bayırlı/Kammer
Subject: bug#22354: Test failure when running distcheck from out-of-tree build
Date: Wed, 13 Jan 2016 10:00:55 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

address@hidden (Ludovic Courtès) writes:

> address@hidden (Taylan Ulrich "Bayırlı/Kammer") skribis:
>
>> address@hidden (Ludovic Courtès) writes:
>>
>>> address@hidden (Taylan Ulrich "Bayırlı/Kammer") skribis:
>>>
>>>> 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 directory
>>>
>>> I think you’re hitting the shebang limit (127 chars) that prevents you
>>> from running test from that build tree.  ./configure emits a warning in
>>> this case, which you should see in ‘config.log’.
>>>
>>> So, not a bug, but it would have been nicer if ‘make check’ had failed
>>> directly.  Commit bb25130 does that.
>>>
>>> Though now that I look again at the error above, I see that we’re below
>>> the 127 char limit.  Weird.
>>
>> Hmm, that commit didn't fix the issue.
>
> You mean it doesn’t error out directly upon ‘make check’?  Could you
> run “grep length …/_build/config.log”?

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.

address@hidden:~/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=73
ac_cv_guix_socket_file_name_length=74
ac_cv_guix_test_hash_bang_length=127
ac_cv_guix_test_socket_file_name_length=90

>> 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/d41iyl2gyk0rwd9z2ddgph9nyg48f3p0-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’.

Taylan





reply via email to

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