https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113181
Bug ID: 113181 Summary: When compiling sanitizer_printf.cc, getting error: multiple definition of ‘enum fsconfig_command’ Product: gcc Version: 8.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap Assignee: unassigned at gcc dot gnu.org Reporter: eyalroz1 at gmx dot com Target Milestone: --- I'm building GCC 8.5.0 on a Devuan GNU/Linux Excalibur machine (~= Debian Trixie). I've encountered, and worked around, the libstdc++ mixup bug (bug 87858), so now I have my distribution's static 32-bit libstdc++ installed. Anyway, with a build configured like so: ./configure --disable-bootstrap --enable-languages=c,c++ I get, at some point, the following warning + (unrelated?) error: libtool: compile: /usr/local/src/gcc-8.5.0/host-x86_64-pc-linux-gnu/gcc/xgcc -shared-libgcc -B/usr/local/src/gcc-8.5.0/host-x86_64-pc-linux-gnu/gcc -nostdinc++ -L/usr/local/src/gcc-8.5.0/x86_64-pc-linux-gnu/libstdc++-v3/src -L/usr/local/src/gcc-8.5.0/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs -L/usr/local/src/gcc-8.5.0/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs -B/usr/local/x86_64-pc-linux-gnu/bin/ -B/usr/local/x86_64-pc-linux-gnu/lib/ -isystem /usr/local/x86_64-pc-linux-gnu/include -isystem /usr/local/x86_64-pc-linux-gnu/sys-include -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DHAVE_RPC_XDR_H=0 -DHAVE_TIRPC_RPC_XDR_H=0 -I. -I../../.././libsanitizer/sanitizer_common -I.. -I ../../.././libsanitizer/include -isystem ../../.././libsanitizer/include/system -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin -fno-exceptions -fno-rtti -fomit-frame-pointer -funwind-tables -fvisibility=hidden -Wno-variadic-macros -I../../libstdc++-v3/include -I../../libstdc++-v3/include/x86_64-pc-linux-gnu -I../../.././libsanitizer/../libstdc++-v3/libsupc++ -std=gnu++11 -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE -I ../../.././libsanitizer/../libbacktrace -I ../libbacktrace -I ../../.././libsanitizer/../include -include ../../.././libsanitizer/libbacktrace/backtrace-rename.h -g -O2 -D_GNU_SOURCE -MT sanitizer_printf.lo -MD -MP -MF .deps/sanitizer_printf.Tpo -c ../../.././libsanitizer/sanitizer_common/sanitizer_printf.cc -fPIC -DPIC -o .libs/sanitizer_printf.o In file included from ../../.././libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:160: /usr/include/linux/cyclades.h:6:2: warning: #warning "Support for features provided by this header has been removed" [-Wcpp] #warning "Support for features provided by this header has been removed" ^~~~~~~ /usr/include/linux/cyclades.h:7:2: warning: #warning "Please consider updating your code" [-Wcpp] #warning "Please consider updating your code" ^~~~~~~ make[6]: Entering directory '/usr/local/src/gcc-8.5.0/x86_64-pc-linux-gnu/32/libitm' make all-recursive In file included from /usr/include/linux/fs.h:19, from ../../.././libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:68: /usr/include/linux/mount.h:96:6: error: multiple definition of ‘enum fsconfig_command’ enum fsconfig_command { ^~~~~~~~~~~~~~~~ In file included from ../../.././libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:55: /usr/local/src/gcc-8.5.0/host-x86_64-pc-linux-gnu/gcc/include-fixed/sys/mount.h:249:6: note: previous definition here enum fsconfig_command ^~~~~~~~~~~~~~~~ In file included from /usr/include/linux/fs.h:19, from ../../.././libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:68: /usr/include/linux/mount.h:130:8: error: redefinition of ‘struct mount_attr’ struct mount_attr { ^~~~~~~~~~ make[7]: Entering directory '/usr/local/src/gcc-8.5.0/x86_64-pc-linux-gnu/32/libitm' In file included from ../../.././libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:55: /usr/local/src/gcc-8.5.0/host-x86_64-pc-linux-gnu/gcc/include-fixed/sys/mount.h:219:8: note: previous definition of ‘struct mount_attr’ struct mount_attr ^~~~~~~~~~ Making all in testsuite make[8]: Entering directory '/usr/local/src/gcc-8.5.0/x86_64-pc-linux-gnu/32/libitm/testsuite' make[8]: Nothing to be done for 'all'. make[8]: Leaving directory '/usr/local/src/gcc-8.5.0/x86_64-pc-linux-gnu/32/libitm/testsuite' make[8]: Entering directory '/usr/local/src/gcc-8.5.0/x86_64-pc-linux-gnu/32/libitm' make[4]: *** [Makefile:539: sanitizer_platform_limits_posix.lo] Error 1