ecl can't be built by gcc-15 with default options, i.e. -std=c23
('bool' cannot be defined via 'typedef' - and MUCH MORE)
Describe the problem here.
This is a build issue with gcc-15, which is by default using c23
C standard. From here: https://github.com/user-attachments/files/19822100/ecl-24.5.10.log
reported on https://github.com/sagemath/sage/pull/39977
[spkg-install] Building libeclmin.a...
[spkg-install] /usr/local/sage15/local/var/tmp/sage/build/ecl-24.5.10/src/src/c/dpp.c:112:13: error: 'bool' cannot be defined via 'typedef'
[spkg-install] 112 | typedef int bool;
[spkg-install] | ^~~~
[spkg-install] /usr/local/sage15/local/var/tmp/sage/build/ecl-24.5.10/src/src/c/dpp.c:112:13: note: 'bool' is a keyword with '-std=c23' onwards
[spkg-install] /usr/local/sage15/local/var/tmp/sage/build/ecl-24.5.10/src/src/c/dpp.c:112:1: warning: useless type name in empty declaration
[spkg-install] 112 | typedef int bool;
[spkg-install] | ^~~~~~~
[spkg-install] make[7]: *** [Makefile:114: dpp] Error 1
[spkg-install] make[6]: *** [Makefile:132: libeclmin.a] Error 2
[spkg-install] make[5]: *** [Makefile:65: all] Error 2
[spkg-install] ********************************************************************************
[spkg-install] Error building ecl-24.5.10
Some additional notes.
A quick fix is to set -std=c17
, or course