Author Topic: Petalinux Build [Errno 32] Broken Pipe  (Read 479 times)

DR

  • Active Member
  • *
  • Posts: 11
Petalinux Build [Errno 32] Broken Pipe
« on: December 01, 2022, 05:17:36 PM »
Hello Petalinux Fans,

For several reasons beyond our control :( We are required to use Ubuntu 22.04 or Fedora 36 on our Systems.
For the past few months, I have been struggling to get the test_board project for TE0820 to build under either of these systems.

The first issue I encounter is a change in "c-stack.c" which can be solved by a patch found here:
https://github.com/openwrt/openwrt/issues/9055

I have not been able to come up with a work around for the second issue ...
Just before the build completes, Petalinux stops with this error:
ERROR: Failed to spawn fakeroot worker to run /home/drector/test_board/os/petalinux/components/yocto/layer/core/meta/recipes-core/initscripts/initscripts_1.0.bb:do_install: [Errno 32] Broken Pipe

This is the stock TE0820-test_board_noprebuilt-vivado_2021.2_withoutvivadopatch-build_11_20220128090819.zip
With Vivado 2021.2, Petalinux 2021.2 and either Ubuntu 22.04 or Fedora 36
No changes except the patch for c-stack.c

Searching the web reveals a few others with the same issue, but no solution.
e.g.
https://support.xilinx.com/s/question/0D52E00007Ci8hgSAB/some-problems-on-petalinux-20211-and-ubuntu-2204-for-zcu111-development?language=en

The surprising thing to me is that more people haven't hit this issue yet over the past few months.

Anyone else see this and have a work-around?

Rebuilding the System with Fedora 34 or Ubuntu 20 - it all works fine out of the box.

Thanks for your help.


« Last Edit: December 01, 2022, 05:20:41 PM by DR »

M Kirberg

  • Active Member
  • *
  • Posts: 7
Re: Petalinux Build [Errno 32] Broken Pipe
« Reply #1 on: December 02, 2022, 09:58:16 AM »
Hi,

we do not try to run Petalinux on non-supported OSes.
I think this error dives deep into Yocto and behaviour of specific OS Version.

We use Petalinux (aka Yocto Gatesgarth) as a Docker Image with Ubuntu20 to avoid these issues, maybe this can be setup on your System?

If not, I tried to find something in Yocto, maybe something like this Patch would help
https://github.com/yoctoproject/poky/commit/2ffbb020fe1d9f332fdc58cd93d7a41885850771

Best,
Markus
« Last Edit: December 02, 2022, 10:42:36 AM by M Kirberg »

DR

  • Active Member
  • *
  • Posts: 11
Re: Petalinux Build [Errno 32] Broken Pipe
« Reply #2 on: December 02, 2022, 11:04:21 PM »
Thanks much for the hint and looking into this with me ...

I tried the patch to bitbake-worker - which looked like it might solve my problem, but unfortunately, no - still getting the same "Failed to spawn fakeroot worker" [Errno 32] Broken pipe.

Anyone else see this or have any ideas.

I would like to stick to Ubuntu 20 as suggested, but our systems forbid network bridging, which is required for such a Docker.

Plus, eventually, it seems like this is going to need a solution as more people use Ubuntu 22?


JH

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2001
Re: Petalinux Build [Errno 32] Broken Pipe
« Reply #3 on: December 05, 2022, 07:50:12 AM »
Hi,
Quote
Plus, eventually, it seems like this is going to need a solution as more people use Ubuntu 22?
you are right, but petalinux is provided by AMD(Xilinx), and they only support selected Linux distribution....
For 2022.2 it's at the moment only:
https://docs.xilinx.com/r/en-US/ug1144-petalinux-tools-reference-guide/Installing-the-PetaLinux-Tool
  • Red Hat Enterprise Workstation/Server 7.4, 7.5, 7.6, 7.7, 7.9, 8.2 (64-bit), 8.3, 8.4, 8.5, 8.6
  • CentOS Workstation/Server 7.4, 7.5, 7.6, 7.7, 7.9
  • Ubuntu Linux Workstation/Server 18.04.1, 18.04.2, 18.04.3, 18.04.4, 18.04.5, 18.04.06, 20.04, 20.04.1, 20.04.2, 20.04.3 ,20.04.4 (64-bit)
  • SUSE Linux 15.2
only AMD(Xilinx) can changes this...
br
John

M Kirberg

  • Active Member
  • *
  • Posts: 7
Re: Petalinux Build [Errno 32] Broken Pipe
« Reply #4 on: December 05, 2022, 09:27:17 AM »
For clarity: the dependency actually set by the Yocto Project not by Xilinx itself, for petalinux 2021.2 == Yocto Gatesgarth this is:

https://docs.yoctoproject.org/gatesgarth/ref-manual/ref-system-requirements.html

Petalinux is an additional layer which has its own dependencies, but your error seems clearly caused by the former one.

Ok a pity that this patch is not working.
I mean the error message suggest that it bitbake-worker is at fault

You can additionally try to find patches in the history of files, e.g. here
https://github.com/yoctoproject/poky/commits/master/bitbake/bin/bitbake-worker
and apply them selectively.
Or even try to use the latest version from master and see if that is any good.

Best
Markus

DR

  • Active Member
  • *
  • Posts: 11
Re: Petalinux Build [Errno 32] Broken Pipe
« Reply #5 on: December 05, 2022, 05:20:05 PM »
Yes Markus,
Thanks again for the help.
and - Yes I tried various permutations of the patches on bitbake - most of them wound up breaking with many dependencies that relied on other patches that were incompatible with the current version that I was using.
When I tried to use the latest version of everything from master together, then many other dependencies were broken deeper in. It was a painful experience. Especially since so many files had to be manually fixed to accommodate the current libraries. Then checksums were broken ... what a mess.
Dave
:*^)