This FTBFS is caused by a change in the default behaviour of GCC from version 9 to version 10. In version 10, if a global variable is defined in a header file, and that header file is included by several files, this results in multiple definitions of the same variable, and a linker error will be reported. In previous versions, this error is ignored. See the "Porting to GCC 10" document (https://gcc.gnu.org/gcc-10/porting_to.html) for more details.
To go back to the previous behaviour, it is possible to use the -fcommon GCC flag. The following patch makes this change, and results in dieharder successfully building with GCC 10. diff --git a/debian/rules b/debian/rules index da08eba..3080547 100755 --- a/debian/rules +++ b/debian/rules @@ -35,7 +35,10 @@ endif # edd 18 Nov 2006: add -fexceptions, but don't use -O3 as # 'make check' as gcc hangs in cblas/ after test_ger.c # edd 27 Dec 2015: add dpkg-buildflags as well -CFLAGS :=-Wall -pipe -fexceptions -D_REENTRANT $(DEBUGFLAGS) $(shell dpkg-buildflags --get CFLAGS) +# shanemcd 24 Jul 2020: add -fcommon for gcc 10's change in default +# behaviour related to multiple definitions +# of global variables +CFLAGS :=-Wall -pipe -fexceptions -fcommon -D_REENTRANT $(DEBUGFLAGS) $(shell dpkg-buildflags --get CFLAGS) # edd 29 Sep 2005 alpha needs -mieee with gcc 4.0 ifeq ($(arch),alpha) CFLAGS += -mieee -- 2.20.1