l...@gnu.org (Ludovic Courtès) writes: > taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") skribis: > >> l...@gnu.org (Ludovic Courtès) writes: >> >>> taylanbayi...@gmail.com (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. 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=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