It's not directly caused by this upgrade, but it revealed interesting issue
in incremental builds.

This is just to document some reproducible cases of "random build issues
which magically disappeared after -c clean".

Building in the same TMPDIR with this gcc upgrade resulted in syslinux and
libvpx failing with couple errors like:

make[4]: Leaving directory
'/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/bios/com32/tools'
make[4]: *** No rule to make target
'/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/recipe-sysroot-native/usr/lib/x86_64-webos-linux/gcc/x86_64-webos-linux/11.1.0/include/stdarg.h',
needed by 'zlib/adler32.o'.  Stop.
make[4]: *** Waiting for unfinished jobs....
make[4]: Leaving directory
'/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/bios/com32/lib'
make[3]: ***
[/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/com32/Makefile:7:
lib] Error 2
make[3]: Leaving directory
'/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/bios/com32'
make[2]: ***
[/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/Makefile:347:
install] Error 2
make[2]: Leaving directory
'/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/bios'
make[1]: ***
[/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/Makefile:257:
bios] Error 2
make[1]: Leaving directory
'/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2'
make: *** [Makefile:102: install] Error 2
ERROR: oe_runmake failed

Rebuilding from scratch fixes the issue and the 11.1.0 directory was
referenced in many *.o.d files:

---
6.04-pre2-r1-broken/syslinux-6.04-pre2/bios/com32/libupload/.upload_srec.o.d
       2021-05-24 09:56:57.390268171 +0200
+++ 6.04-pre2-r1/syslinux-6.04-pre2/bios/com32/libupload/.upload_srec.o.d
    2021-05-29 14:12:45.670506782 +0200
@@ -7,7 +7,7 @@

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/com32/include/bitsize32/stddef.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/com32/include/stdio.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/com32/include/stdarg.h
\
-
/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/recipe-sysroot-native/usr/lib/x86_64-webos-linux/gcc/x86_64-webos-linux/11.1.0/include/stdarg.h
\
+
/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/recipe-sysroot-native/usr/lib/x86_64-webos-linux/gcc/x86_64-webos-linux/11.1.1/include/stdarg.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/com32/include/inttypes.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/com32/include/stdint.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/com32/include/bitsize/stdint.h
\

I don't see any easy way how to force them to be regenerated when gcc was
upgraded.

syslinux uses plain Makefiles and do_configure tries to clean with;
oe_runmake firmware="bios" clean

Similarly libvpx doesn't use autotools bbclass, but calls configure/make
manually so also doesn't take advantage of separate B directory and
removing it before re-executing do_configure.

-- 1.8.2-r0-broken/git/vpx_scale/generic/vpx_scale.c.d 2021-05-24
09:29:44.916405487 +0200
+++ 1.8.2-r0/git/vpx_scale/generic/vpx_scale.c.d        2021-05-29
14:12:39.234539166 +0200
@@ -10,7 +10,7 @@

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/bits/long-double-64.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/gnu/stubs.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/gnu/stubs-64.h
\
-
/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot-native/usr/lib/x86_64-webos-linux/gcc/x86_64-webos-linux/11.1.0/include/stddef.h
\
+
/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot-native/usr/lib/x86_64-webos-linux/gcc/x86_64-webos-linux/11.1.1/include/stddef.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/bits/waitflags.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/bits/waitstatus.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/bits/floatn.h
\
@@ -49,7 +49,7 @@

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/bits/stdlib-float.h
\
  vpx/vpx_integer.h \

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/inttypes.h
\
-
/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot-native/usr/lib/x86_64-webos-linux/gcc/x86_64-webos-linux/11.1.0/include/stdint.h
\
+
/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot-native/usr/lib/x86_64-webos-linux/gcc/x86_64-webos-linux/11.1.1/include/stdint.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/stdint.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/bits/wchar.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/bits/stdint-uintn.h
\

Any ideas how to detect and prevent this kind of issues in some generic way
so that we don't need to explicitly fix the recipes?
Bumping tmp-glibc/abi_version on every minor gcc upgrade also seems a bit
overkill (as gcc upgrades might not be the only source of these kind of
issues anyway).

Regards,

On Wed, May 26, 2021 at 7:10 PM Martin Jansa via lists.openembedded.org
<[email protected]> wrote:

> On Wed, May 26, 2021 at 5:43 PM Martin Jansa via lists.openembedded.org
> <[email protected]> wrote
>
>> I'm seeing different error with gcc-sanitizers and this new revision:
>>
>> work-shared/gcc-11.1.0-r0/gcc-11.1.0/libsanitizer/lsan/lsan_common_linux.cpp:164:25:
>> error: invalid conversion from 'void (*)(void*)' to 'void* (*)(void*)'
>> [-fpermissive]
>>
>> will double-check if it was introduced by this upgrade or something else
>> in oe-core master update today and also if there is a fix in even newer gcc
>> already.
>>
>
> Sorry for noise, this line of code comes from our local patch and the
> upgrade just started triggering this issue in it.
>
> 
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#152409): 
https://lists.openembedded.org/g/openembedded-core/message/152409
Mute This Topic: https://lists.openembedded.org/mt/83053748/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to