[Buildroot] Some analysis of the major build failure reasons

Giulio Benetti giulio.benetti at benettiengineering.com
Mon Aug 2 23:38:53 UTC 2021


> Il giorno 3 ago 2021, alle ore 00:56, Giulio Benetti <giulio.benetti at benettiengineering.com> ha scritto:
> 
> Hello Thomas, James, All,
> 
>> On 8/2/21 11:46 PM, Thomas Petazzoni wrote:
>> Hello,
>> Giulio, Bernd, Adam, there are questions for you below. Thanks for your
>> support!
>>> On Mon, 02 Aug 2021 06:09:39 -0000
>>> Thomas Petazzoni <thomas.petazzoni at bootlin.com> wrote:
>>>     master   | 1903 | 802 | 53  | 2758 |
>> So it's getting a bit better, but we still have lots of build failures.
>>> Classification of failures by reason for master
>>> -----------------------------------------------
>>>                  pixman-0.40.0 | 31
>> I have investigated this. It fails only on sh4, due an internal
>> compiler error. It only occurs at -Os, at -O0 and -O2 it builds fine. I
>> have reported gcc bug
>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101737 for this. Since I
>> tested only with gcc 9.3.0 for now, I've started a build with gcc 11.x,
>> to see how it goes.
>> Based on the result, I'll send a patch adding a new
>> BR2_TOOLCHAIN_GCC_HAS_BUG_101737 and disable -Os on pixman on SuperH
>> based on this.
> 
> I can do that since I've treated a lot of gcc bugs. Is it ok?
> 
>>>                        unknown | 31
>> I did not look into these for now.
> 
> I've taken a look into the last ones of today(the 31 ones)
> @James: lot of your builds simply stuck after Make has finished(not on linking but exactly on 'make: Leaving directory').
> 
> I've noticed it time ago some time, and now it became very more frequent. This is 9/10 your autobuilder giving that problem.
> And this happens at different Build Duration:
> http://autobuild.buildroot.net/?reason=unknown
> Also I see you use /tmp/ folder but I don't see anyone else doing that. Isn't it maybe that your distro automatically cleans /tmp folder up? Or it is mapped somewhere where disk gets full randomly?
> I would move it to a specific user folder(i.e. buildroot user) and that should fix the problem. If you're trying to do such thing to save disk space I tell you that I've already done it time ago with this patch that now needs to be rebased:
> https://patchwork.ozlabs.org/project/buildroot/patch/20180919114541.17670-1-giulio.benetti@micronovasrl.com/
> But in my case NOK was clear. I'm pretty sure /tmp/ is the problem.
> 
> On @Thomas autobuilder I see failure for:
> - optee-client(already found NOK):
> http://autobuild.buildroot.net/results/5e9/5e91bc53c3fbcd2ed232db79dc5c947394d66a1e/
> - failure on fetching as mentioned above
> 
>>>                   zeromq-4.3.4 | 30
>> Giulio: this is happening only on or1k, with a binutils assert. Do you
>> think this is solved by your or1k fixes?
> 
> It is. Those build failures are due to the use of binutils-2.33.1 that have not patches for or1k. While all the other binutils versions have
> local or upstreamed or1k patches.

Buildroot doesn’t use binutils-2.33.1 so…

> 
> Of course this can still happen with actual external Bootlin or1k toolchain that use exactly binutils-2.33.1 not patched.

…the problem happens only with external Bootlin toolchain. So updating them should fix it totally.

Best regards
Giulio

> So the problem will be solved once you recompile and bump them with patches provided. I still see that we're on 2020.08-1:
> https://git.buildroot.net/buildroot/tree/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.mk#n586
> 
>>>                libfuse3-3.10.4 | 23
>> This only happens on Microblaze, with:
>> ../lib/fuse_loop_mt.c:361:1: error: symver is only supported on ELF platforms
>> Giulio, does it ring a bell to you ? It's weird because Microblaze is
>> using ELF binaries.
> 
> I'm going to look into this.
> 
>>>                nfs-utils-2.5.4 | 19
>> I assume would be fixed by
>> https://patchwork.ozlabs.org/project/buildroot/patch/20210802172116.10073-1-petr.vorel@gmail.com/
> 
> Yes, it does. This bug confused me because of lacking of -werror.
> 
>>>                      gpsd-3.21 | 17
>> Giulio, the workaround to pass -O0 no longer works for some reason. -O0
>> is still passed, but -O2 is passed *after*, causing the build issue to
>> pop up again. Could you have a look ?
> 
> Sure, some upstream change that makes my work-around useless.
> 
> NOTE:
> I also add libnss-3.68 new bug on Aarch64_BE to be fixed. I'm already working on it on spare time.
> 
> PS: I've found my autobuilders stopped, I think I've forgotten to restart the daemon after updating the Distro. Now they're up and running.
> 
> Best regards
> -- 
> Giulio Benetti
> Benetti Engineering sas



More information about the buildroot mailing list