wryun / es-shell

es: a shell with higher-order functions
http://wryun.github.io/es-shell/
Other
307 stars 25 forks source link

autoconf 2.72 breaks es building #77

Closed jpco closed 7 months ago

jpco commented 8 months ago

I'm not much of an expert in this, but I'll try to provide as much info as I can give.

Archlinux just recently distributed the new autoconf-2.72 release. This seems to have broken a couple things in es:

  1. LIMIT_T in prim-sys.c no longer gets defined. On my system, 2.71 sets it to rlim_t. This causes prim-sys.c to fail to compile.
  2. SIGFILES in the Makefile is no longer populated. This causes building to stop right in the middle, because a grep invocation is no longer given any arguments, so it wants to pull from standard input (which, during build time, seems to be the terminal).
jpco commented 8 months ago

Bumbling around, I found config.log shows

configure:5272: checking for rlimit type ...
./configure: line 5285: conftest.c: command not found
configure:5290: result: 
configure:5293: checking for files to extract signal information from
./configure: line 5307: conftest.c: command not found
configure:5312: result: 

This error seems to indicate that in ./configure, the variable $ac_cpp is empty, which means $CPP and $CPPFLAGS are unset.

From the 2.72 release announcement (with a little encoding cleanup):

  This change might break configure scripts that expected probes for
  "grep" and/or the C preprocessor to happen as a side effect of an
  unrelated operation.  Such scripts can be fixed by adding
  AC_PROG_EGREP and/or AC_PROG_CPP in an appropriate place.

So AC_PROG_CPP is the fix!