Re: error building gcl-2.7.1 on x86_64-pc-linux-gnu with GCC 16.1.0

Wolfgang Brehm <[email protected]> Mon, 27 Jul 2026 10:41:45 +0200
Newsgroups gmane.lisp.gcl.devel
Message-ID <CALtwO3DcE6G_teRW1nd+-tfUJB=JSX0cXq45LPVQU4OrLbo8Hw@mail.gmail.com>
--0000000000004793ad065793b15b
Content-Type: text/plain; charset="UTF-8"

essentially yes. Or you can try to configure your GCC for an older C
standard, like -std=c89 or -std=c99 . GCL is still written for the old
standard. I once tried to update all, but now, I think an LLM could do the
upgrade, it's just laborious but straight forward.

Am Sonntag, 26. Juli 2026 schrieb Marco Maggi <
[email protected]>:

> Ciao,
>
>   I  am a  casual,  beginner user;  on a  Slackware64  15.0, running  on
> x86_64-pc-linux-gnu, I have installed GCC 16.1.0 from a release tarball;
> trying to compile GCL 2.7.1 I see:
>
> cd gcl-2.7.1
> ./configure --prefix=/opt/gcl/2.7.1/
> make
> ...
> /opt/gcc/16.1.0/bin/gcc -DHAVE_CONFIG_H -I. -I./h  -I h -I
> /usr/include/tirpc   -fsigned-char -pipe -fcommon -fno-builtin-malloc
> -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall
> -Wno-empty-body -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64
> -D_TIME_BITS=64  -I/usr/include/tirpc   -O3 -fomit-frame-pointer -I o  -MT
> o/main.o -MD -MP -MF $depbase.Tpo -c -o o/main.o o/main.c &&\
> mv -f $depbase.Tpo $depbase.Po
> o/main.c:1436:32: warning: 'enum disassembler_style' declared inside
> parameter list will not be visible outside of this definition or declaration
>  1436 | my_fprintf_styled(void *v,enum disassembler_style,const char
> *f,...) {
>       |                                ^~~~~~~~~~~~~~~~~~
> o/main.c:1436:27: error: parameter 2 has incomplete type
>  1436 | my_fprintf_styled(void *v,enum disassembler_style,const char
> *f,...) {
>       |                           ^~~~~~~~~~~~~~~~~~~~~~~
> In file included from ./h/../h/compbas.h:1,
>                  from ./h/include.h:108,
>                  from o/main.c:46:
> o/main.c: In function 'my_fprintf_styled':
> o/main.c:1439:3: error: 'va_start' used in function with fixed arguments
>  1439 |   va_start(va,f);
>       |   ^~~~~~~~
> make[1]: *** [Makefile:1825: o/main.o] Error 1
> make[1]: Leaving directory '/home/marco/var/build/devel/gcl-2.7.1'
> make: *** [Makefile:1044: all] Error 2
>
> I  cannot be  the  only one  seeing  this, but  I  cannot find  anything
> searching the archive or in the bugs page.
>
>   Do I have to use an old GCC?
>
> Thanks.
> --
> Marco Maggi
>
>

--0000000000004793ad065793b15b
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

essentially yes. Or you can try to configure your GCC for an older C standa=
rd, like -std=3Dc89 or -std=3Dc99 . GCL is still written for the old standa=
rd. I once tried to update all, but now, I think an LLM could do the upgrad=
e, it&#39;s just laborious but straight forward.<br><br>Am Sonntag, 26. Jul=
i 2026 schrieb Marco Maggi &lt;<a href=3D"mailto:marco.maggi@persi-nel-bosc=
o.it">[email protected]</a>&gt;:<br><blockquote class=3D"gmail=
_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:=
1ex">Ciao,<br>
<br>
=C2=A0 I=C2=A0 am a=C2=A0 casual,=C2=A0 beginner user;=C2=A0 on a=C2=A0 Sla=
ckware64=C2=A0 15.0, running=C2=A0 on<br>
x86_64-pc-linux-gnu, I have installed GCC 16.1.0 from a release tarball;<br=
>
trying to compile GCL 2.7.1 I see:<br>
<br>
cd gcl-2.7.1<br>
./configure --prefix=3D/opt/gcl/2.7.1/<br>
make<br>
...<br>
/opt/gcc/16.1.0/bin/gcc -DHAVE_CONFIG_H -I. -I./h=C2=A0 -I h -I /usr/includ=
e/tirpc=C2=A0 =C2=A0-fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-b=
uiltin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=3Dgnu17 -Wall -Wno-emp=
ty-body -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=3D64 -D_TIME_BITS=
=3D64=C2=A0 -I/usr/include/tirpc=C2=A0 =C2=A0-O3 -fomit-frame-pointer -I o=
=C2=A0 -MT o/main.o -MD -MP -MF $depbase.Tpo -c -o o/main.o o/main.c &amp;&=
amp;\<br>
mv -f $depbase.Tpo $depbase.Po<br>
o/main.c:1436:32: warning: &#39;enum disassembler_style&#39; declared insid=
e parameter list will not be visible outside of this definition or declarat=
ion<br>
=C2=A01436 | my_fprintf_styled(void *v,enum disassembler_style,const char *=
f,...) {<br>
=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~~~~~~=
~~~<br>
o/main.c:1436:27: error: parameter 2 has incomplete type<br>
=C2=A01436 | my_fprintf_styled(void *v,enum disassembler_style,const char *=
f,...) {<br>
=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^~~~~~~~~~~~~~~~~~~~~~~<br>
In file included from ./h/../h/compbas.h:1,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0from ./h/incl=
ude.h:108,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0from o/main.c=
:46:<br>
o/main.c: In function &#39;my_fprintf_styled&#39;:<br>
o/main.c:1439:3: error: &#39;va_start&#39; used in function with fixed argu=
ments<br>
=C2=A01439 |=C2=A0 =C2=A0va_start(va,f);<br>
=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0^~~~~~~~<br>
make[1]: *** [Makefile:1825: o/main.o] Error 1<br>
make[1]: Leaving directory &#39;/home/marco/var/build/devel/<wbr>gcl-2.7.1&=
#39;<br>
make: *** [Makefile:1044: all] Error 2<br>
<br>
I=C2=A0 cannot be=C2=A0 the=C2=A0 only one=C2=A0 seeing=C2=A0 this, but=C2=
=A0 I=C2=A0 cannot find=C2=A0 anything<br>
searching the archive or in the bugs page.<br>
<br>
=C2=A0 Do I have to use an old GCC?<br>
<br>
Thanks.<br>
-- <br>
Marco Maggi<br>
<br>
</blockquote>

--0000000000004793ad065793b15b--