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's just laborious but straight forward.<br><br>Am Sonntag, 26. Jul= i 2026 schrieb Marco Maggi <<a href=3D"mailto:marco.maggi@persi-nel-bosc= o.it">[email protected]</a>>:<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;\<br> mv -f $depbase.Tpo $depbase.Po<br> o/main.c:1436:32: warning: 'enum disassembler_style' 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 'my_fprintf_styled':<br> o/main.c:1439:3: error: 'va_start' 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 '/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--