Recently, when I go to build a x86/64 image, I get a build failure of toolchain/binutils
. The only way to get the build to succeed is make distclean
and rebuild the toolchain fresh. Interestingly, I can build the binutils like this and it completes successfully, but when I go to build my image, again, the build systems tries to build it and fails. Any thoughts are welcomed.
% make toolchain/binutils
make: 'toolchain/binutils' is up to date.
% make
WARNING: Makefile 'package/feeds/packages/mqttled/Makefile' has a dependency on 'python3-netifaces', which does not exist
make[2]: Entering directory '/scratch/union/scripts/config'
make[2]: 'conf' is up to date.
make[2]: Leaving directory '/scratch/union/scripts/config'
make[1] world
make[2] package/cleanup
make[2] toolchain/compile
make[3] -C toolchain/gdb compile
make[3] -C toolchain/binutils compile
make[3] -C toolchain/nasm compile
make[3] -C toolchain/fortify-headers compile
ERROR: toolchain/binutils failed to build.
make -r world: build failed. Please re-run make with -j1 V=s or V=sc for a higher verbosity level to see what's going on
make: *** [/scratch/union/include/toplevel.mk:233: world] Error 1
Here is verbose output
% make -j1 V=s
WARNING: Makefile 'package/feeds/packages/mqttled/Makefile' has a dependency on 'python3-netifaces', which does not exist
make[2]: Entering directory '/scratch/union/scripts/config'
make[2]: 'conf' is up to date.
make[2]: Leaving directory '/scratch/union/scripts/config'
make[1]: Entering directory '/scratch/union'
make[2]: Entering directory '/scratch/union'
+ mkdir -p /scratch/union/staging_dir/target-x86_64_musl
+ cd /scratch/union/staging_dir/target-x86_64_musl
+ mkdir -p bin lib stamp usr/include usr/lib
mkdir -p /scratch/union/build_dir/target-x86_64_musl/stamp
touch /scratch/union/staging_dir/target-x86_64_musl/.prepared
make[3]: Entering directory '/scratch/union/toolchain/gdb'
make[3]: Nothing to be done for 'compile'.
make[3]: Leaving directory '/scratch/union/toolchain/gdb'
time: toolchain/gdb/compile#0.01#0.00#0.02
make[3]: Entering directory '/scratch/union/toolchain/binutils'
make -C /scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1 all
make[4]: Entering directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1'
make[5]: Entering directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1'
make[6]: Entering directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1/libiberty'
make[7]: Entering directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1/libiberty/testsuite'
make[7]: Nothing to be done for 'all'.
make[7]: Leaving directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1/libiberty/testsuite'
make[6]: Leaving directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1/libiberty'
make[6]: Entering directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1/libsframe'
make all-am
make[7]: Entering directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1/libsframe'
make[7]: Leaving directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1/libsframe'
make[6]: Leaving directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1/libsframe'
make[6]: Entering directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1/bfd'
Making info in po
make[7]: Entering directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1/bfd/po'
make[7]: Nothing to be done for 'info'.
make[7]: Leaving directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1/bfd/po'
make[7]: Entering directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1/bfd'
make[7]: Circular doc/bfd.stamp <- doc/bfd.texi dependency dropped.
make[7]: Leaving directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1/bfd'
make all-recursive
make[7]: Entering directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1/bfd'
Making all in po
make[8]: Entering directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1/bfd/po'
make[8]: Nothing to be done for 'all'.
make[8]: Leaving directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1/bfd/po'
make[8]: Entering directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1/bfd'
make[8]: Circular doc/bfd.stamp <- doc/bfd.texi dependency dropped.
/usr/bin/env bash ./libtool --tag=CC --mode=compile /scratch/union/staging_dir/host/bin/gcc -DHAVE_CONFIG_H -I. -DBINDIR='"/scratch/union/staging_dir/toolchain-x86_64_gcc-14.3.0_musl/bin"' -DLIBDIR='"/scratch/union/staging_dir/toolchain-x86_64_gcc-14.3.0_musl/lib"' -I. -I. -I./../include -DHAVE_x86_64_elf64_vec -DHAVE_i386_elf32_vec -DHAVE_iamcu_elf32_vec -DHAVE_x86_64_elf32_vec -DHAVE_i386_pei_vec -DHAVE_x86_64_pe_vec -DHAVE_x86_64_pei_vec -DHAVE_elf64_le_vec -DHAVE_elf64_be_vec -DHAVE_elf32_le_vec -DHAVE_elf32_be_vec -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wstack-usage=262144 -I/scratch/union/staging_dir/toolchain-x86_64_gcc-14.3.0_musl/include -pthread -O2 -I/scratch/union/staging_dir/host/include -MT bfdio.lo -MD -MP -MF .deps/bfdio.Tpo -c -o bfdio.lo bfdio.c
libtool: compile: /scratch/union/staging_dir/host/bin/gcc -DHAVE_CONFIG_H -I. -DBINDIR=\"/scratch/union/staging_dir/toolchain-x86_64_gcc-14.3.0_musl/bin\" -DLIBDIR=\"/scratch/union/staging_dir/toolchain-x86_64_gcc-14.3.0_musl/lib\" -I. -I. -I./../include -DHAVE_x86_64_elf64_vec -DHAVE_i386_elf32_vec -DHAVE_iamcu_elf32_vec -DHAVE_x86_64_elf32_vec -DHAVE_i386_pei_vec -DHAVE_x86_64_pe_vec -DHAVE_x86_64_pei_vec -DHAVE_elf64_le_vec -DHAVE_elf64_be_vec -DHAVE_elf32_le_vec -DHAVE_elf32_be_vec -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wstack-usage=262144 -I/scratch/union/staging_dir/toolchain-x86_64_gcc-14.3.0_musl/include -pthread -O2 -I/scratch/union/staging_dir/host/include -MT bfdio.lo -MD -MP -MF .deps/bfdio.Tpo -c bfdio.c -o bfdio.o
In file included from /scratch/union/staging_dir/toolchain-x86_64_gcc-14.3.0_musl/include/sys/types.h:70,
from sysdep.h:33,
from bfdio.c:24:
/scratch/union/staging_dir/toolchain-x86_64_gcc-14.3.0_musl/include/endian.h: In function '__bswap32':
/scratch/union/staging_dir/toolchain-x86_64_gcc-14.3.0_musl/include/endian.h:26:32: warning: suggest parentheses around arithmetic in operand of '|' [-Wparentheses]
26 | return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24;
| ~~~~~~^~~~~~~
/scratch/union/staging_dir/toolchain-x86_64_gcc-14.3.0_musl/include/endian.h:26:48: warning: suggest parentheses around arithmetic in operand of '|' [-Wparentheses]
26 | return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24;
| ~~~~~~^~~~~~~~~
/scratch/union/staging_dir/toolchain-x86_64_gcc-14.3.0_musl/include/endian.h: In function '__bswap64':
/scratch/union/staging_dir/toolchain-x86_64_gcc-14.3.0_musl/include/endian.h:31:30: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]
31 | return __bswap32(__x)+0ULL<<32 | __bswap32(__x>>32);
| ~~~~~~~~~~~~~~^~~~~
bfdio.c: In function '_bfd_real_ftell':
bfdio.c:52:10: error: implicit declaration of function 'ftello64'; did you mean 'ftello'? [-Wimplicit-function-declaration]
52 | return ftello64 (file);
| ^~~~~~~~
| ftello
bfdio.c: In function '_bfd_real_fseek':
bfdio.c:64:10: error: implicit declaration of function 'fseeko64'; did you mean 'fseeko'? [-Wimplicit-function-declaration]
64 | return fseeko64 (file, offset, whence);
| ^~~~~~~~
| fseeko
bfdio.c: In function '_bfd_real_fopen':
bfdio.c:256:25: error: implicit declaration of function 'fopen64'; did you mean 'fopen'? [-Wimplicit-function-declaration]
256 | return close_on_exec (fopen64 (filename, modes));
| ^~~~~~~
| fopen
bfdio.c:256:25: error: passing argument 1 of 'close_on_exec' makes pointer from integer without a cast [-Wint-conversion]
256 | return close_on_exec (fopen64 (filename, modes));
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| |
| int
bfdio.c:75:22: note: expected 'FILE *' {aka 'struct _IO_FILE *'} but argument is of type 'int'
75 | close_on_exec (FILE *file)
| ~~~~~~^~~~
make[8]: *** [Makefile:1768: bfdio.lo] Error 1
make[8]: Leaving directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1/bfd'
make[7]: *** [Makefile:1948: all-recursive] Error 1
make[7]: Leaving directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1/bfd'
make[6]: *** [Makefile:1332: all] Error 2
make[6]: Leaving directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1/bfd'
make[5]: *** [Makefile:3113: all-bfd] Error 2
make[5]: Leaving directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1'
make[4]: *** [Makefile:1028: all] Error 2
make[4]: Leaving directory '/scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1'
make[3]: *** [Makefile:104: /scratch/union/build_dir/toolchain-x86_64_gcc-14.3.0_musl/binutils-2.43.1/.built] Error 2
make[3]: Leaving directory '/scratch/union/toolchain/binutils'
time: toolchain/binutils/compile#0.15#0.04#0.19
ERROR: toolchain/binutils failed to build.
make[2]: *** [toolchain/Makefile:93: toolchain/binutils/compile] Error 1
make[2]: Leaving directory '/scratch/union'
make[1]: *** [toolchain/Makefile:89: /scratch/union/staging_dir/toolchain-x86_64_gcc-14.3.0_musl/stamp/.toolchain_compile] Error 2
make[1]: Leaving directory '/scratch/union'
make: *** [/scratch/union/include/toplevel.mk:233: world] Error 2