Hi,
Redefinitions are part of C11 and compilers which support C11 and
default to C11 mode would have masked the issue which is why we are
here. Because of the redefinitions, it is not possible to build Guile
with older compilers which only support C99.
I hit this issue attempting to build Guile 3.0.9 with GCC 4.0.1.
The first error being
CC libgnu_la-regex.lo
In file included from ../libguile/threads.h:27,
from glthread/lock.h:27,
from regex_internal.h:56,
from regex.c:71:
../libguile/dynstack.h:37: error: redefinition of typedef 'scm_t_dynstack'
../libguile/scm.h:825: error: previous declaration of 'scm_t_dynstack'
was here
In file included from ../libguile/smob.h:28,
from ../libguile/threads.h:29,
from glthread/lock.h:27,
from regex_internal.h:56,
from regex.c:71:
../libguile/print.h:79: error: redefinition of typedef 'scm_print_state'
../libguile/scm.h:824: error: previous declaration of 'scm_print_state'
was here
make[4]: *** [libgnu_la-regex.lo] Error 1
There's more issues after addressing these. I will follow up with a
patch of what I took out for the build to succeed (not necessarily
correct but to highlight where the issues are).
Sevan