GNU bug report logs - #41467
Compiling extensions using Guile 3.0.2 headers doesn't work with clang without -std=c11

Previous Next

Package: guile;

Reported by: Vadim Zeitlin <vz-gnuguile <at> zeitlins.org>

Date: Fri, 22 May 2020 22:06:02 UTC

Severity: normal

Full log


Message #8 received at 41467 <at> debbugs.gnu.org (full text, mbox):

From: Sevan Janiyan <venture37 <at> geeklan.co.uk>
To: 41467 <at> debbugs.gnu.org
Subject: Re: Compiling extensions using Guile 3.0.2 headers doesn't work with
 clang without -std=c11
Date: Tue, 1 Aug 2023 02:38:57 +0100
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




This bug report was last modified 1 year and 317 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.