New issue by fosslinux on void-packages repository https://github.com/void-linux/void-packages/issues/21680 Description: Building `gcc` and hence `base-chroot-musl` from scratch for `x86_64-musl`, cross-compiling from x86_64 is broken. ``` $ ./xbps-src pkg -j1 -N -a x86_64-musl gcc [output truncated] make[2]: Entering directory '/builddir/gcc-9.3.0/build/x86_64-linux-musl/libgo' make "AR_FLAGS=rc" "CC_FOR_BUILD=cc" "CC_FOR_TARGET=x86_64-linux-musl-gcc" "CFLAGS=-g -O2 -pipe -mtune=generic -I/usr/x86_64-linux-musl/usr/include" "CXXFLAGS=-g -O2 -pipe -mtune=generic -I/usr/x86_64-linux-musl/usr/include -D_GNU_SOURCE" "CFLAGS_FOR_BUILD=-O2 -pipe" "CFLAGS_FOR_TARGET=-g -O2 -pipe -mtune=generic -I/usr/x86_64-linux-musl/usr/include" "GOC_FOR_TARGET=x86_64-linux-musl-gccgo" "GOC=x86_64-linux-musl-gccgo --sysroot=/usr/x86_64-linux-musl " "GOCFLAGS=-O2 -g" "INSTALL=/builddir/.xbps-gcc/wrappers/install -c" "INSTALL_DATA=/builddir/.xbps-gcc/wrappers/install -c -m 644" "INSTALL_PROGRAM=/builddir/.xbps-gcc/wrappers/install -c" "INSTALL_SCRIPT=/builddir/.xbps-gcc/wrappers/install -c" "LDFLAGS=" "LIBCFLAGS=-g -O2 -pipe -mtune=generic -I/usr/x86_64-linux-musl/usr/include" "LIBCFLAGS_FOR_TARGET=-g -O2 -pipe -mtune=generic -I/usr/x86_64-linux-musl/usr/include" "MAKE=make" "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000 " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/bash" "RUNTESTFLAGS=" "exec_prefix=/usr" "infodir=/usr/share/info" "libdir=/usr/lib" "includedir=/usr/include" "prefix=/usr" "tooldir=/usr/x86_64-linux-musl" "gxx_include_dir=" "AR=/usr/lib/gcc/x86_64-linux-musl/9.3.0/../../../../x86_64-linux-musl/bin/ar" "AS=/usr/lib/gcc/x86_64-linux-musl/9.3.0/../../../../x86_64-linux-musl/bin/as" "LD=/usr/lib/gcc/x86_64-linux-musl/9.3.0/../../../../x86_64-linux-musl/bin/ld" "RANLIB=/usr/lib/gcc/x86_64-linux-musl/9.3.0/../../../../x86_64-linux-musl/bin/ranlib" "NM=/usr/lib/gcc/x86_64-linux-musl/9.3.0/../../../../x86_64-linux-musl/bin/nm" "NM_FOR_BUILD=" "NM_FOR_TARGET=/usr/lib/gcc/x86_64-linux-musl/9.3.0/../../../../x86_64-linux-musl/bin/nm" "DESTDIR=" "WERROR=" all-recursive make[3]: Entering directory '/builddir/gcc-9.3.0/build/x86_64-linux-musl/libgo' make[4]: Entering directory '/builddir/gcc-9.3.0/build/x86_64-linux-musl/libgo' f="bytes.o"; if test ! -f $f; then f="./.libs/bytes.o"; fi; /usr/lib/gcc/x86_64-linux-musl/9.3.0/../../../../x86_64-linux-musl/bin/objcopy -j .go_export $f bytes.s-gox.tmp; /bin/bash /builddir/gcc-9.3.0/libgo/mvifdiff.sh bytes.s-gox.tmp `echo bytes.s-gox | sed -e 's/s-gox/gox/'` echo timestamp > bytes.s-gox /usr/bin/mkdir -p .; files=`echo /builddir/gcc-9.3.0/libgo/go/reflect/deepequal.go /builddir/gcc-9.3.0/libgo/go/reflect/makefunc.go /builddir/gcc-9.3.0/libgo/go/reflect/makefunc_ffi.go /builddir/gcc-9.3.0/libgo/go/reflect/swapper.go /builddir/gcc-9.3.0/libgo/go/reflect/type.go /builddir/gcc-9.3.0/libgo/go/reflect/value.go math.gox runtime.gox strconv.gox sync.gox unicode.gox unicode/utf8.gox | sed -e 's/[^ ]*\.gox//g' -e 's/[^ ]*\.dep//'`; /bin/bash ./libtool --tag GO --mode=compile x86_64-linux-musl-gccgo --sysroot=/usr/x86_64-linux-musl -minline-all-stringops -O2 -g -I . -c -fgo-pkgpath=`echo reflect.lo | sed -e 's/.lo$//'` -o reflect.lo $files libtool: compile: x86_64-linux-musl-gccgo --sysroot=/usr/x86_64-linux-musl -minline-all-stringops -O2 -g -I . -c -fgo-pkgpath=reflect /builddir/gcc-9.3.0/libgo/go/reflect/deepequal.go /builddir/gcc-9.3.0/libgo/go/reflect/makefunc.go /builddir/gcc-9.3.0/libgo/go/reflect/makefunc_ffi.go /builddir/gcc-9.3.0/libgo/go/reflect/swapper.go /builddir/gcc-9.3.0/libgo/go/reflect/type.go /builddir/gcc-9.3.0/libgo/go/reflect/value.go -fPIC -o .libs/reflect.o libtool: compile: x86_64-linux-musl-gccgo --sysroot=/usr/x86_64-linux-musl -minline-all-stringops -O2 -g -I . -c -fgo-pkgpath=reflect /builddir/gcc-9.3.0/libgo/go/reflect/deepequal.go /builddir/gcc-9.3.0/libgo/go/reflect/makefunc.go /builddir/gcc-9.3.0/libgo/go/reflect/makefunc_ffi.go /builddir/gcc-9.3.0/libgo/go/reflect/swapper.go /builddir/gcc-9.3.0/libgo/go/reflect/type.go /builddir/gcc-9.3.0/libgo/go/reflect/value.go -o reflect.o >/dev/null 2>&1 f="reflect.o"; if test ! -f $f; then f="./.libs/reflect.o"; fi; /usr/lib/gcc/x86_64-linux-musl/9.3.0/../../../../x86_64-linux-musl/bin/objcopy -j .go_export $f reflect.s-gox.tmp; /bin/bash /builddir/gcc-9.3.0/libgo/mvifdiff.sh reflect.s-gox.tmp `echo reflect.s-gox | sed -e 's/s-gox/gox/'` echo timestamp > reflect.s-gox /usr/bin/mkdir -p .; files=`echo /builddir/gcc-9.3.0/libgo/go/sort/search.go /builddir/gcc-9.3.0/libgo/go/sort/slice.go /builddir/gcc-9.3.0/libgo/go/sort/sort.go /builddir/gcc-9.3.0/libgo/go/sort/zfuncversion.go reflect.gox | sed -e 's/[^ ]*\.gox//g' -e 's/[^ ]*\.dep//'`; /bin/bash ./libtool --tag GO --mode=compile x86_64-linux-musl-gccgo --sysroot=/usr/x86_64-linux-musl -minline-all-stringops -O2 -g -I . -c -fgo-pkgpath=`echo sort.lo | sed -e 's/.lo$//'` -o sort.lo $files libtool: compile: x86_64-linux-musl-gccgo --sysroot=/usr/x86_64-linux-musl -minline-all-stringops -O2 -g -I . -c -fgo-pkgpath=sort /builddir/gcc-9.3.0/libgo/go/sort/search.go /builddir/gcc-9.3.0/libgo/go/sort/slice.go /builddir/gcc-9.3.0/libgo/go/sort/sort.go /builddir/gcc-9.3.0/libgo/go/sort/zfuncversion.go -fPIC -o .libs/sort.o libtool: compile: x86_64-linux-musl-gccgo --sysroot=/usr/x86_64-linux-musl -minline-all-stringops -O2 -g -I . -c -fgo-pkgpath=sort /builddir/gcc-9.3.0/libgo/go/sort/search.go /builddir/gcc-9.3.0/libgo/go/sort/slice.go /builddir/gcc-9.3.0/libgo/go/sort/sort.go /builddir/gcc-9.3.0/libgo/go/sort/zfuncversion.go -o sort.o >/dev/null 2>&1 f="sort.o"; if test ! -f $f; then f="./.libs/sort.o"; fi; /usr/lib/gcc/x86_64-linux-musl/9.3.0/../../../../x86_64-linux-musl/bin/objcopy -j .go_export $f sort.s-gox.tmp; /bin/bash /builddir/gcc-9.3.0/libgo/mvifdiff.sh sort.s-gox.tmp `echo sort.s-gox | sed -e 's/s-gox/gox/'` echo timestamp > sort.s-gox /usr/bin/mkdir -p internal; files=`echo /builddir/gcc-9.3.0/libgo/go/internal/fmtsort/sort.go reflect.gox sort.gox | sed -e 's/[^ ]*\.gox//g' -e 's/[^ ]*\.dep//'`; /bin/bash ./libtool --tag GO --mode=compile x86_64-linux-musl-gccgo --sysroot=/usr/x86_64-linux-musl -minline-all-stringops -O2 -g -I . -c -fgo-pkgpath=`echo internal/fmtsort.lo | sed -e 's/.lo$//'` -o internal/fmtsort.lo $files libtool: compile: x86_64-linux-musl-gccgo --sysroot=/usr/x86_64-linux-musl -minline-all-stringops -O2 -g -I . -c -fgo-pkgpath=internal/fmtsort /builddir/gcc-9.3.0/libgo/go/internal/fmtsort/sort.go -fPIC -o internal/.libs/fmtsort.o libtool: compile: x86_64-linux-musl-gccgo --sysroot=/usr/x86_64-linux-musl -minline-all-stringops -O2 -g -I . -c -fgo-pkgpath=internal/fmtsort /builddir/gcc-9.3.0/libgo/go/internal/fmtsort/sort.go -o internal/fmtsort.o >/dev/null 2>&1 f="internal/fmtsort.o"; if test ! -f $f; then f="internal/.libs/fmtsort.o"; fi; /usr/lib/gcc/x86_64-linux-musl/9.3.0/../../../../x86_64-linux-musl/bin/objcopy -j .go_export $f internal/fmtsort.s-gox.tmp; /bin/bash /builddir/gcc-9.3.0/libgo/mvifdiff.sh internal/fmtsort.s-gox.tmp `echo internal/fmtsort.s-gox | sed -e 's/s-gox/gox/'` echo timestamp > internal/fmtsort.s-gox /usr/bin/mkdir -p .; files=`echo /builddir/gcc-9.3.0/libgo/go/syscall/dirent.go /builddir/gcc-9.3.0/libgo/go/syscall/endian_little.go /builddir/gcc-9.3.0/libgo/go/syscall/env_unix.go /builddir/gcc-9.3.0/libgo/go/syscall/errstr.go /builddir/gcc-9.3.0/libgo/go/syscall/exec_linux.go /builddir/gcc-9.3.0/libgo/go/syscall/exec_unix.go /builddir/gcc-9.3.0/libgo/go/syscall/libcall_glibc.go /builddir/gcc-9.3.0/libgo/go/syscall/libcall_linux.go /builddir/gcc-9.3.0/libgo/go/syscall/libcall_linux_amd64.go /builddir/gcc-9.3.0/libgo/go/syscall/libcall_linux_utimesnano.go /builddir/gcc-9.3.0/libgo/go/syscall/libcall_posix.go /builddir/gcc-9.3.0/libgo/go/syscall/libcall_posix_largefile.go /builddir/gcc-9.3.0/libgo/go/syscall/libcall_posix_nonhurd.go /builddir/gcc-9.3.0/libgo/go/syscall/libcall_support.go /builddir/gcc-9.3.0/libgo/go/syscall/libcall_uname.go /builddir/gcc-9.3.0/libgo/go/syscall/libcall_wait4.go /builddir/gcc-9.3.0/libgo/go/syscall/lsf_linux.go /builddir/gcc-9.3.0/libgo/go/syscall/msan0.go /builddir/gcc-9.3.0/libgo/go/syscall/net.go /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go /builddir/gcc-9.3.0/libgo/go/syscall/setuidgid_linux.go /builddir/gcc-9.3.0/libgo/go/syscall/sleep_select.go /builddir/gcc-9.3.0/libgo/go/syscall/sockcmsg_linux.go /builddir/gcc-9.3.0/libgo/go/syscall/sockcmsg_unix.go /builddir/gcc-9.3.0/libgo/go/syscall/socket.go /builddir/gcc-9.3.0/libgo/go/syscall/socket_linux.go /builddir/gcc-9.3.0/libgo/go/syscall/socket_linux_type.go /builddir/gcc-9.3.0/libgo/go/syscall/socket_posix.go /builddir/gcc-9.3.0/libgo/go/syscall/str.go /builddir/gcc-9.3.0/libgo/go/syscall/syscall.go /builddir/gcc-9.3.0/libgo/go/syscall/syscall_errno.go /builddir/gcc-9.3.0/libgo/go/syscall/syscall_funcs.go /builddir/gcc-9.3.0/libgo/go/syscall/syscall_glibc.go /builddir/gcc-9.3.0/libgo/go/syscall/syscall_linux_amd64.go /builddir/gcc-9.3.0/libgo/go/syscall/syscall_unix.go /builddir/gcc-9.3.0/libgo/go/syscall/timestruct.go libcalls.go sysinfo.go syscall_arch.go epoll.go internal/race.gox runtime.gox sync.gox | sed -e 's/[^ ]*\.gox//g' -e 's/[^ ]*\.dep//'`; /bin/bash ./libtool --tag GO --mode=compile x86_64-linux-musl-gccgo --sysroot=/usr/x86_64-linux-musl -minline-all-stringops -O2 -g -I . -c -fgo-pkgpath=`echo syscall.lo | sed -e 's/.lo$//'` -o syscall.lo $files libtool: compile: x86_64-linux-musl-gccgo --sysroot=/usr/x86_64-linux-musl -minline-all-stringops -O2 -g -I . -c -fgo-pkgpath=syscall /builddir/gcc-9.3.0/libgo/go/syscall/dirent.go /builddir/gcc-9.3.0/libgo/go/syscall/endian_little.go /builddir/gcc-9.3.0/libgo/go/syscall/env_unix.go /builddir/gcc-9.3.0/libgo/go/syscall/errstr.go /builddir/gcc-9.3.0/libgo/go/syscall/exec_linux.go /builddir/gcc-9.3.0/libgo/go/syscall/exec_unix.go /builddir/gcc-9.3.0/libgo/go/syscall/libcall_glibc.go /builddir/gcc-9.3.0/libgo/go/syscall/libcall_linux.go /builddir/gcc-9.3.0/libgo/go/syscall/libcall_linux_amd64.go /builddir/gcc-9.3.0/libgo/go/syscall/libcall_linux_utimesnano.go /builddir/gcc-9.3.0/libgo/go/syscall/libcall_posix.go /builddir/gcc-9.3.0/libgo/go/syscall/libcall_posix_largefile.go /builddir/gcc-9.3.0/libgo/go/syscall/libcall_posix_nonhurd.go /builddir/gcc-9.3.0/libgo/go/syscall/libcall_support.go /builddir/gcc-9.3.0/libgo/go/syscall/libcall_uname.go /builddir/gcc-9.3.0/libgo/go/syscall/libcall_wait4.go /builddir/gcc-9.3.0/libgo/go/syscall/lsf_linux.go /builddir/gcc-9.3.0/libgo/go/syscall/msan0.go /builddir/gcc-9.3.0/libgo/go/syscall/net.go /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go /builddir/gcc-9.3.0/libgo/go/syscall/setuidgid_linux.go /builddir/gcc-9.3.0/libgo/go/syscall/sleep_select.go /builddir/gcc-9.3.0/libgo/go/syscall/sockcmsg_linux.go /builddir/gcc-9.3.0/libgo/go/syscall/sockcmsg_unix.go /builddir/gcc-9.3.0/libgo/go/syscall/socket.go /builddir/gcc-9.3.0/libgo/go/syscall/socket_linux.go /builddir/gcc-9.3.0/libgo/go/syscall/socket_linux_type.go /builddir/gcc-9.3.0/libgo/go/syscall/socket_posix.go /builddir/gcc-9.3.0/libgo/go/syscall/str.go /builddir/gcc-9.3.0/libgo/go/syscall/syscall.go /builddir/gcc-9.3.0/libgo/go/syscall/syscall_errno.go /builddir/gcc-9.3.0/libgo/go/syscall/syscall_funcs.go /builddir/gcc-9.3.0/libgo/go/syscall/syscall_glibc.go /builddir/gcc-9.3.0/libgo/go/syscall/syscall_linux_amd64.go /builddir/gcc-9.3.0/libgo/go/syscall/syscall_unix.go /builddir/gcc-9.3.0/libgo/go/syscall/timestruct.go libcalls.go sysinfo.go syscall_arch.go epoll.go -fPIC -o .libs/syscall.o /builddir/gcc-9.3.0/libgo/go/syscall/libcall_linux.go:147:16: error: reference to undefined name ‘LINUX_REBOOT_MAGIC1’ 147 | return reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd, "") | ^ /builddir/gcc-9.3.0/libgo/go/syscall/libcall_linux.go:147:37: error: reference to undefined name ‘LINUX_REBOOT_MAGIC2’ 147 | return reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd, "") | ^ /builddir/gcc-9.3.0/libgo/go/syscall/lsf_linux.go:14:28: error: use of undefined type ‘SockFilter’ 14 | func LsfStmt(code, k int) *SockFilter { | ^ /builddir/gcc-9.3.0/libgo/go/syscall/lsf_linux.go:14:28: error: use of undefined type ‘SockFilter’ /builddir/gcc-9.3.0/libgo/go/syscall/lsf_linux.go:74:8: error: use of undefined type ‘SockFprog’ 74 | var p SockFprog | ^ /builddir/gcc-9.3.0/libgo/go/syscall/lsf_linux.go:75:3: error: reference to field ‘Len’ in object which has no fields or methods 75 | p.Len = uint16(len(i)) | ^ /builddir/gcc-9.3.0/libgo/go/syscall/lsf_linux.go:76:3: error: reference to field ‘Filter’ in object which has no fields or methods 76 | p.Filter = (*SockFilter)(unsafe.Pointer(&i[0])) | ^ /builddir/gcc-9.3.0/libgo/go/syscall/lsf_linux.go:76:15: error: reference to undefined name ‘SockFilter’ 76 | p.Filter = (*SockFilter)(unsafe.Pointer(&i[0])) | ^ /builddir/gcc-9.3.0/libgo/go/syscall/lsf_linux.go:76:14: error: expected pointer 76 | p.Filter = (*SockFilter)(unsafe.Pointer(&i[0])) | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:13:19: error: reference to undefined name ‘NLMSG_ALIGNTO’ 13 | return (msglen + NLMSG_ALIGNTO - 1) & ^(NLMSG_ALIGNTO - 1) | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:13:42: error: reference to undefined name ‘NLMSG_ALIGNTO’ 13 | return (msglen + NLMSG_ALIGNTO - 1) & ^(NLMSG_ALIGNTO - 1) | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:19:20: error: reference to undefined name ‘RTA_ALIGNTO’ 19 | return (attrlen + RTA_ALIGNTO - 1) & ^(RTA_ALIGNTO - 1) | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:19:41: error: reference to undefined name ‘RTA_ALIGNTO’ 19 | return (attrlen + RTA_ALIGNTO - 1) & ^(RTA_ALIGNTO - 1) | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:25:9: error: use of undefined type ‘NlMsghdr’ 25 | Header NlMsghdr | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:30:29: error: reference to field ‘Len’ in object which has no fields or methods 30 | b := make([]byte, rr.Header.Len) | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:30:29: error: non-integer len argument in make /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:31:52: error: reference to field ‘Len’ in object which has no fields or methods 31 | *(*uint32)(unsafe.Pointer(&b[0:4][0])) = rr.Header.Len | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:32:52: error: reference to field ‘Type’ in object which has no fields or methods 32 | *(*uint16)(unsafe.Pointer(&b[4:6][0])) = rr.Header.Type | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:33:52: error: reference to field ‘Flags’ in object which has no fields or methods 33 | *(*uint16)(unsafe.Pointer(&b[6:8][0])) = rr.Header.Flags | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:34:53: error: reference to field ‘Seq’ in object which has no fields or methods 34 | *(*uint32)(unsafe.Pointer(&b[8:12][0])) = rr.Header.Seq | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:35:54: error: reference to field ‘Pid’ in object which has no fields or methods 35 | *(*uint32)(unsafe.Pointer(&b[12:16][0])) = rr.Header.Pid | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:26:9: error: use of undefined type ‘RtGenmsg’ 26 | Data RtGenmsg | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:36:22: error: reference to field ‘Family’ in object which has no fields or methods 36 | b[16] = byte(rr.Data.Family) | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:42:11: error: reference to field ‘Len’ in object which has no fields or methods 42 | rr.Header.Len = uint32(NLMSG_HDRLEN + SizeofRtGenmsg) | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:42:25: error: reference to undefined name ‘NLMSG_HDRLEN’ 42 | rr.Header.Len = uint32(NLMSG_HDRLEN + SizeofRtGenmsg) | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:42:40: error: reference to undefined name ‘SizeofRtGenmsg’ 42 | rr.Header.Len = uint32(NLMSG_HDRLEN + SizeofRtGenmsg) | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:43:11: error: reference to field ‘Type’ in object which has no fields or methods 43 | rr.Header.Type = uint16(proto) | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:44:11: error: reference to field ‘Flags’ in object which has no fields or methods 44 | rr.Header.Flags = NLM_F_DUMP | NLM_F_REQUEST | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:44:20: error: reference to undefined name ‘NLM_F_DUMP’ 44 | rr.Header.Flags = NLM_F_DUMP | NLM_F_REQUEST | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:44:33: error: reference to undefined name ‘NLM_F_REQUEST’ 44 | rr.Header.Flags = NLM_F_DUMP | NLM_F_REQUEST | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:45:11: error: reference to field ‘Seq’ in object which has no fields or methods 45 | rr.Header.Seq = uint32(seq) | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:46:9: error: reference to field ‘Family’ in object which has no fields or methods 46 | rr.Data.Family = uint8(family) | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:53:41: error: reference to undefined name ‘NETLINK_ROUTE’ 53 | s, err := Socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE) | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:75:11: error: reference to undefined name ‘NLMSG_HDRLEN’ 75 | if nr < NLMSG_HDRLEN { | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:25:9: error: use of undefined type ‘NlMsghdr’ 25 | Header NlMsghdr | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:91:16: error: reference to field ‘Seq’ in object which has no fields or methods 91 | if m.Header.Seq != 1 || m.Header.Pid != v.Pid { | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:91:37: error: reference to field ‘Pid’ in object which has no fields or methods 91 | if m.Header.Seq != 1 || m.Header.Pid != v.Pid { | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:97:15: error: reference to field ‘Type’ in object which has no fields or methods 97 | if m.Header.Type == NLMSG_DONE { | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:97:24: error: reference to undefined name ‘NLMSG_DONE’ 97 | if m.Header.Type == NLMSG_DONE { | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:100:15: error: reference to field ‘Type’ in object which has no fields or methods 100 | if m.Header.Type == NLMSG_ERROR { | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:100:24: error: reference to undefined name ‘NLMSG_ERROR’ 100 | if m.Header.Type == NLMSG_ERROR { | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:118:16: error: reference to undefined name ‘NLMSG_HDRLEN’ 118 | for len(b) >= NLMSG_HDRLEN { | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:25:9: error: use of undefined type ‘NlMsghdr’ 25 | Header NlMsghdr | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:123:52: error: reference to field ‘Len’ in object which has no fields or methods 123 | m := NetlinkMessage{Header: *h, Data: dbuf[:int(h.Len)-NLMSG_HDRLEN]} | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:123:58: error: reference to undefined name ‘NLMSG_HDRLEN’ 123 | m := NetlinkMessage{Header: *h, Data: dbuf[:int(h.Len)-NLMSG_HDRLEN]} | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:131:9: error: reference to undefined name ‘NlMsghdr’ 131 | h := (*NlMsghdr)(unsafe.Pointer(&b[0])) | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:131:8: error: expected pointer 131 | h := (*NlMsghdr)(unsafe.Pointer(&b[0])) | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:133:18: error: reference to undefined name ‘NLMSG_HDRLEN’ 133 | if int(h.Len) < NLMSG_HDRLEN || l > len(b) { | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:136:14: error: reference to undefined name ‘NLMSG_HDRLEN’ 136 | return h, b[NLMSG_HDRLEN:], l, nil | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:150:17: error: reference to field ‘Type’ in object which has no fields or methods 150 | switch m.Header.Type { | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:151:7: error: reference to undefined name ‘RTM_NEWLINK’ 151 | case RTM_NEWLINK, RTM_DELLINK: | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:151:20: error: reference to undefined name ‘RTM_DELLINK’ 151 | case RTM_NEWLINK, RTM_DELLINK: | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:152:14: error: reference to undefined name ‘SizeofIfInfomsg’ 152 | b = m.Data[SizeofIfInfomsg:] | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:153:7: error: reference to undefined name ‘RTM_NEWADDR’ 153 | case RTM_NEWADDR, RTM_DELADDR: | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:153:20: error: reference to undefined name ‘RTM_DELADDR’ 153 | case RTM_NEWADDR, RTM_DELADDR: | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:154:14: error: reference to undefined name ‘SizeofIfAddrmsg’ 154 | b = m.Data[SizeofIfAddrmsg:] | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:155:7: error: reference to undefined name ‘RTM_NEWROUTE’ 155 | case RTM_NEWROUTE, RTM_DELROUTE: | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:155:21: error: reference to undefined name ‘RTM_DELROUTE’ 155 | case RTM_NEWROUTE, RTM_DELROUTE: | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:156:14: error: reference to undefined name ‘SizeofRtMsg’ 156 | b = m.Data[SizeofRtMsg:] | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:161:16: error: reference to undefined name ‘SizeofRtAttr’ 161 | for len(b) >= SizeofRtAttr { | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:141:8: error: use of undefined type ‘RtAttr’ 141 | Attr RtAttr | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:166:54: error: reference to field ‘Len’ in object which has no fields or methods 166 | ra := NetlinkRouteAttr{Attr: *a, Value: vbuf[:int(a.Len)-SizeofRtAttr]} | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:166:60: error: reference to undefined name ‘SizeofRtAttr’ 166 | ra := NetlinkRouteAttr{Attr: *a, Value: vbuf[:int(a.Len)-SizeofRtAttr]} | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:174:9: error: reference to undefined name ‘RtAttr’ 174 | a := (*RtAttr)(unsafe.Pointer(&b[0])) | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:174:8: error: expected pointer 174 | a := (*RtAttr)(unsafe.Pointer(&b[0])) | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:175:18: error: reference to undefined name ‘SizeofRtAttr’ 175 | if int(a.Len) < SizeofRtAttr || int(a.Len) > len(b) { | ^ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:178:14: error: reference to undefined name ‘SizeofRtAttr’ 178 | return a, b[SizeofRtAttr:], rtaAlignOf(int(a.Len)), nil | ^ /builddir/gcc-9.3.0/libgo/go/syscall/syscall_linux_amd64.go:11:10: error: use of undefined type ‘PtraceRegs’ 11 | func (r *PtraceRegs) PC() uint64 { | ^ /builddir/gcc-9.3.0/libgo/go/syscall/syscall_linux_amd64.go:12:10: error: reference to field ‘Rip’ in object which has no fields or methods 12 | return r.Rip | ^ /builddir/gcc-9.3.0/libgo/go/syscall/syscall_linux_amd64.go:16:3: error: reference to field ‘Rip’ in object which has no fields or methods 16 | r.Rip = pc | ^ /builddir/gcc-9.3.0/libgo/go/syscall/lsf_linux.go:14:28: error: use of undefined type ‘SockFilter’ 14 | func LsfStmt(code, k int) *SockFilter { | ^ /builddir/gcc-9.3.0/libgo/go/syscall/lsf_linux.go:14:28: error: use of undefined type ‘SockFilter’ /builddir/gcc-9.3.0/libgo/go/syscall/lsf_linux.go:14:28: error: use of undefined type ‘SockFilter’ /builddir/gcc-9.3.0/libgo/go/syscall/netlink_linux.go:141:8: error: use of undefined type ‘RtAttr’ 141 | Attr RtAttr | ^ make[4]: *** [Makefile:2838: syscall.lo] Error 1 make[4]: Leaving directory '/builddir/gcc-9.3.0/build/x86_64-linux-musl/libgo' make[3]: *** [Makefile:2235: all-recursive] Error 1 make[3]: Leaving directory '/builddir/gcc-9.3.0/build/x86_64-linux-musl/libgo' make[2]: *** [Makefile:1160: all] Error 2 make[2]: Leaving directory '/builddir/gcc-9.3.0/build/x86_64-linux-musl/libgo' make[1]: *** [Makefile:16371: all-target-libgo] Error 2 make[1]: Leaving directory '/builddir/gcc-9.3.0/build' make: *** [Makefile:964: all] Error 2 => ERROR: gcc-9.3.0_3: do_build: 'make ${makejobs}' exited with 2 => ERROR: in do_build() at srcpkgs/gcc/template:337 ``` I have no clue what is causing all of these errors. The problem doesn't occur when `-N` is /not/ used. I am trying to track down which dependency the problem lies in.