NetBSD-Bugs archive

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

toolchain/60859: Builds broken on Debian unstable + very current GCC



>Number:         60859
>Category:       toolchain
>Synopsis:       Builds broken on Debian unstable + very current GCC
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    toolchain-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Oct 06 18:20:00 +0000 2026
>Originator:     Jan-Benedict Glaw
>Release:        current
>Organization:
>Environment:
>Description:
On my CI builds on Linux amd64, targeting alpha, (running within Docker containers that are Debian sid / unstable based and optionally can use a recent GCC from mainline installed) I see two recent regressions:

The first one that showed up is during "release":

#   compile  makedoc/makedoc.lo
cc -O   -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/external/gpl2/texinfo/dist/info -I/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/external/gpl2/texinfo/dist/lib -I/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/external/gpl2/texinfo/makedoc/../include -DHOSTTOOL -c -o makedoc.lo.o    /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/external/gpl2/texinfo/dist/info/makedoc.c
In file included from /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/external/gpl2/texinfo/dist/info/info.h:34,
                 from /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/external/gpl2/texinfo/dist/info/makedoc.c:30:
/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/external/gpl2/texinfo/dist/lib/system.h:123:12: error: conflicting types for 'strcasecmp'; have 'int(void)'
  123 | extern int strcasecmp ();
      |            ^~~~~~~~~~
In file included from /usr/include/string.h:494,
                 from /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/external/gpl2/texinfo/dist/lib/system.h:76:
/usr/include/strings.h:116:12: note: previous declaration of 'strcasecmp' with type 'int(const char *, const char *)'
  116 | extern int strcasecmp (const char *__s1, const char *__s2)
      |            ^~~~~~~~~~
/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/external/gpl2/texinfo/dist/lib/system.h:127:12: error: conflicting types for 'strncasecmp'; have 'int(void)'
  127 | extern int strncasecmp ();
      |            ^~~~~~~~~~~
/usr/include/strings.h:120:12: note: previous declaration of 'strncasecmp' with type 'int(const char *, const char *, long unsigned int)'
  120 | extern int strncasecmp (const char *__s1, const char *__s2, size_t __n)
      |            ^~~~~~~~~~~

*** Failed target:  makedoc.lo
*** Failed command: cc -O -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/external/gpl2/texinfo/dist/info -I/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/external/gpl2/texinfo/dist/lib -I/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/external/gpl2/texinfo/makedoc/../include -DHOSTTOOL -c -o makedoc.lo.o /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/external/gpl2/texinfo/dist/info/makedoc.c
*** Error code 1


This was probably caused by this commit:

commit 64b5f93903a691f398ef3e3f107d8e566b4e2bd1
Author: tsutsui <tsutsui%NetBSD.org@localhost>
Date:   Fri Sep 25 23:09:53 2026 +0000

    texinfo: patch configure to get correct RETSIGTYPE on GCC 15 (C23)
    
    Currently harmless because RETSIGTYPE is referred only under dist/info/
    and info/ is excluded in external/gpl2/texinfo/dist/Makefile.in.



(NB: Debian has a GCC 16 around, I'm also testing with GCC trunk.)


In addition to it obviously misdetecting strcasecmp() etc. (I haven't yet tested that with a trunk GCC on NetBSD current), I got this in addition while building libs:

obj ===> lib/../external/gpl3/gcc.old/lib/libgcc/libgcc_s
cd "/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/external/gpl3/gcc.old/lib/libgcc/libgcc_s";  here=$(/bin/pwd)/; subdir=${here#/usr/src/};  if [ "$here" != "$subdir" ]; then  if [ ! -d /usr/obj ]; then  echo "BSDOBJDIR /usr/obj does not exist, bailing...";  exit 1;  fi;  subdir=${subdir%/};  dest=/usr/obj/$subdir;  if  [ -x /home/jenkins/workspace/netbsd-alpha-alpha/__tools__/bin/nbstat ] &&  ttarg=$(/home/jenkins/workspace/netbsd-alpha-alpha/__tools__/bin/nbstat -qf '%Y' ${here}obj) &&  [ "$dest" = "$ttarg" ]; then  : ;  else  echo '#  ' " objdir  $dest";  rm -rf obj;  ln -s $dest obj;  fi;  if [ ! -d $dest ]; then  mkdir -p $dest;  else  true;  fi;  else  true ;  dest=${here}obj ;  if [ ! -d obj ] || [ -h obj ]; then  echo '#  ' " objdir  $dest";  rm -f obj;  mkdir $dest;  fi ;  fi;
#    objdir  /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/external/gpl3/gcc.old/lib/libgcc/libgcc_s/obj
_makedirtarget() {  dir="$1"; shift;  target="$1"; shift;  case "${dir}" in  /*)	this="${dir}/";  real="${dir}" ;;  .)	this="lib/../external/gpl3/gcc.old/lib/libgcc/";  real="/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/external/gpl3/gcc.old/lib/libgcc" ;;  *)	this="lib/../external/gpl3/gcc.old/lib/libgcc/${dir}/";  real="/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/external/gpl3/gcc.old/lib/libgcc/${dir}" ;;  esac;  show=${this:-.};  echo "${target} ===> ${show%/}${1:+	(with: $@)}";  cd "${real}"  &&  /home/jenkins/workspace/netbsd-alpha-alpha/__tools__/bin/nbmake _THISDIR_="${this}" "$@" ${target};  };  _makedirtarget libgcov obj
obj ===> lib/../external/gpl3/gcc.old/lib/libgcc/libgcov
cd "/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/external/gpl3/gcc.old/lib/libgcc/libgcov";  here=$(/bin/pwd)/; subdir=${here#/usr/src/};  if [ "$here" != "$subdir" ]; then  if [ ! -d /usr/obj ]; then  echo "BSDOBJDIR /usr/obj does not exist, bailing...";  exit 1;  fi;  subdir=${subdir%/};  dest=/usr/obj/$subdir;  if  [ -x /home/jenkins/workspace/netbsd-alpha-alpha/__tools__/bin/nbstat ] &&  ttarg=$(/home/jenkins/workspace/netbsd-alpha-alpha/__tools__/bin/nbstat -qf '%Y' ${here}obj) &&  [ "$dest" = "$ttarg" ]; then  : ;  else  echo '#  ' " objdir  $dest";  rm -rf obj;  ln -s $dest obj;  fi;  if [ ! -d $dest ]; then  mkdir -p $dest;  else  true;  fi;  else  true ;  dest=${here}obj ;  if [ ! -d obj ] || [ -h obj ]; then  echo '#  ' " objdir  $dest";  rm -f obj;  mkdir $dest;  fi ;  fi;
#    objdir  /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/external/gpl3/gcc.old/lib/libgcc/libgcov/obj
_makedirtarget() {  dir="$1"; shift;  target="$1"; shift;  case "${dir}" in  /*)	this="${dir}/";  real="${dir}" ;;  .)	this="lib/";  real="/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib" ;;  *)	this="lib/${dir}/";  real="/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/${dir}" ;;  esac;  show=${this:-.};  echo "${target} ===> ${show%/}${1:+	(with: $@)}";  cd "${real}"  &&  /home/jenkins/workspace/netbsd-alpha-alpha/__tools__/bin/nbmake _THISDIR_="${this}" "$@" ${target};  };  _makedirtarget libc obj
obj ===> lib/libc
nbmake[2]: /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/compat/Makefile.inc:8: Cannot open /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/compat/compat/db/Makefile.inc
	in /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/Makefile:57
	in nbmake[2] in directory "/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc"
nbmake[2]: /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/compat/Makefile.inc:9: Cannot open /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/compat/compat/locale/Makefile.inc
	in /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/Makefile:57
	in nbmake[2] in directory "/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc"
nbmake[2]: /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/compat/Makefile.inc:10: Cannot open /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/compat/compat/gen/Makefile.inc
	in /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/Makefile:57
	in nbmake[2] in directory "/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc"
nbmake[2]: /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/compat/Makefile.inc:11: Cannot open /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/compat/compat/net/Makefile.inc
	in /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/Makefile:57
	in nbmake[2] in directory "/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc"
nbmake[2]: /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/compat/Makefile.inc:12: Cannot open /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/compat/compat/rpc/Makefile.inc
	in /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/Makefile:57
	in nbmake[2] in directory "/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc"
nbmake[2]: /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/compat/Makefile.inc:13: Cannot open /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/compat/compat/stdio/Makefile.inc
	in /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/Makefile:57
	in nbmake[2] in directory "/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc"
nbmake[2]: /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/compat/Makefile.inc:14: Cannot open /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/compat/compat/stdlib/Makefile.inc
	in /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/Makefile:57
	in nbmake[2] in directory "/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc"
nbmake[2]: /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/compat/Makefile.inc:15: Cannot open /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/compat/compat/sys/Makefile.inc
	in /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/Makefile:57
	in nbmake[2] in directory "/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc"
nbmake[2]: /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/compat/Makefile.inc:16: Cannot open /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/compat/compat/time/Makefile.inc
	in /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/Makefile:57
	in nbmake[2] in directory "/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc"
nbmake[2]: /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/compat/Makefile.inc:17: Cannot open /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/compat/compat/arch/alpha/Makefile.inc
	in /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc/Makefile:57
	in nbmake[2] in directory "/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc"
nbmake[2]: Fatal errors encountered -- cannot continue
nbmake[2]: stopped making "obj" in /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/libc

*** Failed target:  obj-libc
*** Failed command: _makedirtarget() { dir="$1"; shift; target="$1"; shift; case "${dir}" in /*) this="${dir}/"; real="${dir}" ;; .) this="lib/"; real="/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib" ;; *) this="lib/${dir}/"; real="/home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib/${dir}" ;; esac; show=${this:-.}; echo "${target} ===> ${show%/}${1:+ (with: $@)}"; cd "${real}" && /home/jenkins/workspace/netbsd-alpha-alpha/__tools__/bin/nbmake _THISDIR_="${this}" "$@" ${target}; }; _makedirtarget libc obj
*** Error code 1

Stop.
nbmake[1]: stopped making "obj" in /home/jenkins/workspace/netbsd-alpha-alpha/NetBSD-src/lib



I don't know (yet?) which commit caused this second issue, but it's between Oct 3 ("t_sigio: Fix diagnostics in fillpipebuf for non-sockets harder.") and Oct 4 ("etc/etc.evbarm/Makefile.inc: follow-on hash generation fix").

>How-To-Repeat:
Build on Linux with a very modern GCC for alpha (and a number of others) to reproduce #1, and build for Alpha with a very recent NetBSD current commit to reproduce the second.
>Fix:




Home | Main Index | Thread Index | Old Index