I hit a problem - and I detected the very strange situation:
- I run Docker image locally and run there
autoreconf -i
and I get correct and robust ./configure
script.
- Then I run
autoreconf -i
in the same Docker image but under Gitlab CI. And I get broken ./configure
script - some of M4 macro were not substituted to their shell code, so Bash cannot execute them and treats them as syntax errors.
The difference is in m4/
folder in the both runs: successful m4/
folder contains files like:
aria2_arg.m4
ax_check_compile_flag.m4
ax_cxx_compile_stdcxx_11.m4
codeset.m4
fallocate.m4
fcntl-o.m4
gettext.m4
... # and so on
but in the failed (Gitlab CI) m4/
folder there are:
gettext.m4
fcntl-o.m4
# ... and so on
and aria2_arg.m4
, ax_check_compile_flag.m4
, ax_cxx_compile_stdcxx_11.m4
, fallocate.m4
and others are missing. I don't know how is it possible if the Docker image is the same in both cases, but... how does autoreconf
create m4/
folder? If its content's source is the Docker image itself (I don't know is it true, it's my suggestion only), then why is the content different in both cases?
question from:
https://stackoverflow.com/questions/65858308/how-does-autoreconf-create-m4-folder 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…