Changes between Initial Version and Version 7 of Ticket #23448


Ignore:
Timestamp:
07/18/17 11:46:36 (4 years ago)
Author:
jdemeyer
Comment:

I'm a bit lost here. I think I understood the problem, and I understand what your patch does. However, I don't see how that actually fixes the problem.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #23448

    • Property Status changed from new to needs_info
    • Property Commit changed from to e77704be65648f5915df5f78573eb26fbc22cee8
    • Property Cc jdemeyer added
    • Property Branch changed from to u/tornaria/23448
  • Ticket #23448 – Description

    initial v7  
    3434}}}
    3535My {{{/bin/sh}}} happens to be this shell, so just running {{{make}}} is broken in my system.
     36
     37After much suffering, I found out the code at fault in {{{configure.ac}}}:
     38{{{
     39#---------------------------------------------------------
     40# We need to run this configure script with bash
     41if test -z "$BASH_VERSION$CONFIG_SHELL"
     42then
     43    CONFIG_SHELL=bash
     44    export CONFIG_SHELL
     45    if $CONFIG_SHELL -c "exit 0"
     46    then
     47        exec $CONFIG_SHELL $0 "$@"
     48[...]
     49}}}
     50introduced by e03f296685f986f89e1e12974f4c5ead9a9ff440.
     51
     52I guess the idea is to re-run configure ($0) with the same arguments ($@) but using bash. However, by the time we reach the line {{{exec $CONFIG_SHELL $0 "$@"}}}, the positional parameters have been obliterated by previous tests. Indeed, in the example above it happens to run {{{bash ./configure x make}}} which produces the error.
     53
     54When using debian's dash, it turns out that before reaching this code configure decides to rerun itself and for that reason it sets {{{CONFIG_SHELL=/bin/sh}}} (to avoid a recursion).
     55
     56Hence, the test above is wrong (IMO it should //only// test `$BASH_VERSION`).