Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

(Cross-)Building with recent GCC versions



Hi!

(Cross-)Building from Linux using a very modern GCC version (like
"gcc (basepoints/gcc-16-5320-gb2e40fc16eb, built at 1763380963) 16.0.0
20251116 (experimental)") uncovers issues with texinfo while building
tools:

./build.sh -N 4 -X /var/lib/laminar/run/netbsd-vax-vax/191/NetBSD-xsrc \
	-P -U -u -m vax -a vax -E \
	-D /var/lib/laminar/run/netbsd-vax-vax/191/dest-vax-vax \
	-R /var/lib/laminar/run/netbsd-vax-vax/191/release-vax-vax \
	-T /var/lib/laminar/run/netbsd-vax-vax/191/tools-vax-vax \
	tools

[...]
+ /var/lib/laminar/run/netbsd-vax-vax/191/tools-vax-vax/bin/nbmake -f /var/lib/laminar/run/netbsd-vax-vax/191/NetBSD-src/tools/texinfo/../Makefile.gnuwrap all-am
if cc -DHAVE_CONFIG_H -I. -I/var/lib/laminar/run/netbsd-vax-vax/191/NetBSD-src/tools/texinfo/../../external/gpl2/texinfo/dist/makeinfo -I.. -I/var/lib/laminar/run/netbsd-vax-vax/191/NetBSD-src/tools/texinfo/../../external/gpl2/texinfo/dist/lib -I../intl -DLOCALEDIR=\"/var/lib/laminar/run/netbsd-vax-vax/191/tools-vax-vax/share/locale\"   -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -O -MT cmds.o -MD -MP -MF ".deps/cmds.Tpo" -c -o cmds.o /var/lib/laminar/run/netbsd-vax-vax/191/NetBSD-src/tools/texinfo/../../external/gpl2/texinfo/dist/makeinfo/cmds.c;  then mv -f ".deps/cmds.Tpo" ".deps/cmds.Po"; else rm -f ".deps/cmds.Tpo"; exit 1; fi
+ cc -DHAVE_CONFIG_H -I. -I/var/lib/laminar/run/netbsd-vax-vax/191/NetBSD-src/tools/texinfo/../../external/gpl2/texinfo/dist/makeinfo -I.. -I/var/lib/laminar/run/netbsd-vax-vax/191/NetBSD-src/tools/texinfo/../../external/gpl2/texinfo/dist/lib -I../intl -DLOCALEDIR="/var/lib/laminar/run/netbsd-vax-vax/191/tools-vax-vax/share/locale" -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O -MT cmds.o -MD -MP -MF .deps/cmds.Tpo -c -o cmds.o /var/lib/laminar/run/netbsd-vax-vax/191/NetBSD-src/tools/texinfo/../../external/gpl2/texinfo/dist/makeinfo/cmds.c
/var/lib/laminar/run/netbsd-vax-vax/191/NetBSD-src/tools/texinfo/../../external/gpl2/texinfo/dist/makeinfo/cmds.c:56:11: error: initialization of 'void (*)(void)' from incompatible pointer type 'void (*)(int)' [-Wincompatible-pointer-types]
   56 |   { "\t", insert_space, NO_BRACE_ARGS },
      |           ^~~~~~~~~~~~
/var/lib/laminar/run/netbsd-vax-vax/191/NetBSD-src/tools/texinfo/../../external/gpl2/texinfo/dist/makeinfo/cmds.c:56:11: note: (near initialization for 'command_table[0].proc')
In file included from /var/lib/laminar/run/netbsd-vax-vax/191/NetBSD-src/tools/texinfo/../../external/gpl2/texinfo/dist/makeinfo/cmds.c:24:
/var/lib/laminar/run/netbsd-vax-vax/191/NetBSD-src/tools/texinfo/../../external/gpl2/texinfo/dist/makeinfo/cmds.h:62:3: note: 'insert_space' declared here
   62 |   insert_space (int arg),
      |   ^~~~~~~~~~~~
/var/lib/laminar/run/netbsd-vax-vax/191/NetBSD-src/tools/texinfo/../../external/gpl2/texinfo/dist/makeinfo/cmds.c:57:11: error: initialization of 'void (*)(void)' from incompatible pointer type 'void (*)(int)' [-Wincompatible-pointer-types]
   57 |   { "\n", insert_space, NO_BRACE_ARGS },
      |           ^~~~~~~~~~~~
/var/lib/laminar/run/netbsd-vax-vax/191/NetBSD-src/tools/texinfo/../../external/gpl2/texinfo/dist/makeinfo/cmds.c:57:11: note: (near initialization for 'command_table[1].proc')
/var/lib/laminar/run/netbsd-vax-vax/191/NetBSD-src/tools/texinfo/../../external/gpl2/texinfo/dist/makeinfo/cmds.h:62:3: note: 'insert_space' declared here
   62 |   insert_space (int arg),
      |   ^~~~~~~~~~~~
/var/lib/laminar/run/netbsd-vax-vax/191/NetBSD-src/tools/texinfo/../../external/gpl2/texinfo/dist/makeinfo/cmds.c:58:10: error: initialization of 'void (*)(void)' from incompatible pointer type 'void (*)(int)' [-Wincompatible-pointer-types]
   58 |   { " ", insert_space, NO_BRACE_ARGS },
      |          ^~~~~~~~~~~~
/var/lib/laminar/run/netbsd-vax-vax/191/NetBSD-src/tools/texinfo/../../external/gpl2/texinfo/dist/makeinfo/cmds.c:58:10: note: (near initialization for 'command_table[2].proc')
/var/lib/laminar/run/netbsd-vax-vax/191/NetBSD-src/tools/texinfo/../../external/gpl2/texinfo/dist/makeinfo/cmds.h:62:3: note: 'insert_space' declared here
   62 |   insert_space (int arg),
      |   ^~~~~~~~~~~~
/var/lib/laminar/run/netbsd-vax-vax/191/NetBSD-src/tools/texinfo/../../external/gpl2/texinfo/dist/makeinfo/cmds.c:59:10: error: initialization of 'void (*)(void)' from incompatible pointer type 'void (*)(int)' [-Wincompatible-pointer-types]
   59 |   { "!", cm_punct, NO_BRACE_ARGS },
      |          ^~~~~~~~
[...]

It spews out many more of them, while taking pointers to functions that have a
non-matching signature. There are a number of different ways to approach it:

  * Update texinfo to hopefully (haven't verified) just fix it from upstream; or
  * simply cast all handler functions in this array; or
  * properly fix all functions to follow the (expected) prototype; or
  * add -Wno-incompatible-pointer-types to CFLAGS.

Any suggestions?

Thanks,
  Jan-Benedict

-- 

Attachment: signature.asc
Description: PGP signature



Home | Main Index | Thread Index | Old Index