I am building a fresh LFS with the latest glibc and binutils and ran
into a problem when building gcc-pass2 in Chapter 5.
linux-5.5.1
glibc-2.31
binutils-2.34
What the error looks like is somewhat complex and it looks like (long
lines so there is wrapping in the email):
In file included from
../../../../libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:193:
../../../../libsanitizer/sanitizer_common/sanitizer_internal_defs.h:339:72:
error: narrowing conversion of '-1' from 'int' to 'long unsigned int'
[-Wnarrowing]
339 | typedef char IMPL_PASTE(assertion_failed_##_,
line)[2*(int)(pred)-1]
|
^
../../../../libsanitizer/sanitizer_common/sanitizer_internal_defs.h:333:30:
note: in expansion of macro 'IMPL_COMPILER_ASSERT'
333 | #define COMPILER_CHECK(pred) IMPL_COMPILER_ASSERT(pred, __LINE__)
../../../../libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h:1511:3:
note: in expansion of macro 'COMPILER_CHECK'
1511 | COMPILER_CHECK(sizeof(((__sanitizer_##CLASS *) NULL)->MEMBER)
== \
../../../../libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:1161:1:
note: in expansion of macro 'CHECK_SIZE_AND_OFFSET'
1161 | CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
The command line includes -Werror even if I specify --disable-werror in
configure.
I've been able to work around the problem with:
sed -e '1161 s|^|//|' \
-i libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
and it is probably all right since it is just an internal assertion check.
===
It's curious because I didn't run into the problem with gcc-pass1.
The build is now progressing through Chapter 6 with all tests so it will
be a while before the build finished, but if anyone has a look at this
and sees something I missed, please let me know.
-- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page