diff mbox series

uninative-tarball: Add libgcc

Message ID 20230109134930.1409270-1-richard.purdie@linuxfoundation.org
State Accepted, archived
Commit a134a7186b2266378bc0b08c134e169a943eedde
Headers show
Series uninative-tarball: Add libgcc | expand

Commit Message

Richard Purdie Jan. 9, 2023, 1:49 p.m. UTC
We ship libpthread with uninative. when uninative is active we're seeing
failures like:

   libgcc_s.so.1 must be installed for pthread_cancel to work
   Aborted

which is since we don't have a libgcc that matches libpthread. Add libgcc
to avoid these errors.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/recipes-core/meta/uninative-tarball.bb | 1 +
 1 file changed, 1 insertion(+)

Comments

Jose Quaresma Jan. 16, 2023, 7:21 p.m. UTC | #1
Hi Richard,

I am seeing some build errors like this at the end of the build whre bibake
segment fault.
My problem is this happens on a build that doesn't use uninative,
does bitbake require uninative to build on master?

This is my build log where bitbake crash at the end:

INFO: Build completion summary:
INFO:   do_populate_sysroot: 100.0% sstate reuse(387 setscene, 0 scratch)
INFO:   do_deploy_source_date_epoch: 100.0% sstate reuse(5 setscene, 0
scratch)
INFO:   do_deploy_archives: 100.0% sstate reuse(400 setscene, 0 scratch)
INFO:   do_create_spdx: 100.0% sstate reuse(364 setscene, 0 scratch)
INFO:   do_create_runtime_spdx: 100.0% sstate reuse(342 setscene, 0 scratch)
INFO:   do_package_qa: 100.0% sstate reuse(243 setscene, 0 scratch)
INFO:   do_package: 100.0% sstate reuse(26 setscene, 0 scratch)
INFO:   do_packagedata: 100.0% sstate reuse(243 setscene, 0 scratch)
INFO:   do_package_write_ipk: 100.0% sstate reuse(243 setscene, 0 scratch)
INFO:   do_populate_lic: 100.0% sstate reuse(395 setscene, 0 scratch)
INFO: Writing buildhistory
INFO: Writing buildhistory took: 10 seconds
libgcc_s.so.1 must be installed for pthread_cancel to work
/lmp/bb-build.sh: line 24: 91770 Aborted                 (core dumped)
bitbake -D ...

Jose


Richard Purdie <richard.purdie@linuxfoundation.org> escreveu no dia
segunda, 9/01/2023 à(s) 13:49:

> We ship libpthread with uninative. when uninative is active we're seeing
> failures like:
>
>    libgcc_s.so.1 must be installed for pthread_cancel to work
>    Aborted
>
> which is since we don't have a libgcc that matches libpthread. Add libgcc
> to avoid these errors.
>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
>  meta/recipes-core/meta/uninative-tarball.bb | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/meta/recipes-core/meta/uninative-tarball.bb
> b/meta/recipes-core/meta/uninative-tarball.bb
> index a21d08b591c..4aecf39b890 100644
> --- a/meta/recipes-core/meta/uninative-tarball.bb
> +++ b/meta/recipes-core/meta/uninative-tarball.bb
> @@ -20,6 +20,7 @@ TOOLCHAIN_HOST_TASK = "\
>      nativesdk-libxcrypt-compat \
>      nativesdk-libnss-nis \
>      nativesdk-sdk-provides-dummy \
> +    nativesdk-libgcc \
>      "
>
>  INHIBIT_DEFAULT_DEPS = "1"
> --
> 2.37.2
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#175684):
> https://lists.openembedded.org/g/openembedded-core/message/175684
> Mute This Topic: https://lists.openembedded.org/mt/96152280/5052612
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> quaresma.jose@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
Richard Purdie Jan. 16, 2023, 11:42 p.m. UTC | #2
On Mon, 2023-01-16 at 19:21 +0000, Jose Quaresma wrote:
> Hi Richard,
> 
> I am seeing some build errors like this at the end of the build whre bibake segment fault.
> My problem is this happens on a build that doesn't use uninative,
> does bitbake require uninative to build on master?

No, it doesn't.

My worry was that uninative didn't contain libgcc which meant that
builds could fail like this if it wasn't present. The reason for the
change is threading in bitbake itself and the thread.join() calls which
seem to trigger pthread_cancel() calls under some circumstances. Having
libgcc present in uninative seemed like a good idea so I've ensured
that. I wasn't entirely convinced it would solve it, I half expected to
see a new/different error replacing it.

Is libgcc present on your build system? It would seem strange for it
not to be but that is what the error message suggests.

I've also seem mention of issues with this in some versions of python
but I've not seen any errors on the autobuilder since I ensured it was
present in uninative.

> This is my build log where bitbake crash at the end:
> 
> INFO: Build completion summary:
> INFO:   do_populate_sysroot: 100.0% sstate reuse(387 setscene, 0 scratch)
> INFO:   do_deploy_source_date_epoch: 100.0% sstate reuse(5 setscene, 0 scratch)
> INFO:   do_deploy_archives: 100.0% sstate reuse(400 setscene, 0 scratch)
> INFO:   do_create_spdx: 100.0% sstate reuse(364 setscene, 0 scratch)
> INFO:   do_create_runtime_spdx: 100.0% sstate reuse(342 setscene, 0 scratch)
> INFO:   do_package_qa: 100.0% sstate reuse(243 setscene, 0 scratch)
> INFO:   do_package: 100.0% sstate reuse(26 setscene, 0 scratch)
> INFO:   do_packagedata: 100.0% sstate reuse(243 setscene, 0 scratch)
> INFO:   do_package_write_ipk: 100.0% sstate reuse(243 setscene, 0 scratch)
> INFO:   do_populate_lic: 100.0% sstate reuse(395 setscene, 0 scratch)
> INFO: Writing buildhistory
> INFO: Writing buildhistory took: 10 seconds
> libgcc_s.so.1 must be installed for pthread_cancel to work
> /lmp/bb-build.sh: line 24: 91770 Aborted                 (core dumped) bitbake -D ...

This is the build system's python saying it can't find libgcc_s.so.1 so
I'd start by checking it is there. I'm assuming you're not using
buildtools?

Cheers,

Richard
Jose Quaresma Jan. 17, 2023, 2:35 p.m. UTC | #3
Richard Purdie <richard.purdie@linuxfoundation.org> escreveu no dia
segunda, 16/01/2023 à(s) 23:42:

> On Mon, 2023-01-16 at 19:21 +0000, Jose Quaresma wrote:
> > Hi Richard,
> >
> > I am seeing some build errors like this at the end of the build whre
> bibake segment fault.
> > My problem is this happens on a build that doesn't use uninative,
> > does bitbake require uninative to build on master?
>
> No, it doesn't.
>
> My worry was that uninative didn't contain libgcc which meant that
> builds could fail like this if it wasn't present. The reason for the
> change is threading in bitbake itself and the thread.join() calls which
> seem to trigger pthread_cancel() calls under some circumstances. Having
> libgcc present in uninative seemed like a good idea so I've ensured
> that. I wasn't entirely convinced it would solve it, I half expected to
> see a new/different error replacing it.
>
> Is libgcc present on your build system? It would seem strange for it
> not to be but that is what the error message suggests.
>

No, I don't have libgcc installed on my build container and this is the
main reason.
I know that we now need the libgcc on the build host and this can satisfied
in two different ways:

1 - installing the libgcc on the build host
2 - using the unative

For now I will use the [1] because I don't use the uninative.
Maybe the documentation needs to be updated adding the libgcc
as a requirement of bitbake.


> I've also seem mention of issues with this in some versions of python
> but I've not seen any errors on the autobuilder since I ensured it was
> present in uninative.
>
> > This is my build log where bitbake crash at the end:
> >
> > INFO: Build completion summary:
> > INFO:   do_populate_sysroot: 100.0% sstate reuse(387 setscene, 0 scratch)
> > INFO:   do_deploy_source_date_epoch: 100.0% sstate reuse(5 setscene, 0
> scratch)
> > INFO:   do_deploy_archives: 100.0% sstate reuse(400 setscene, 0 scratch)
> > INFO:   do_create_spdx: 100.0% sstate reuse(364 setscene, 0 scratch)
> > INFO:   do_create_runtime_spdx: 100.0% sstate reuse(342 setscene, 0
> scratch)
> > INFO:   do_package_qa: 100.0% sstate reuse(243 setscene, 0 scratch)
> > INFO:   do_package: 100.0% sstate reuse(26 setscene, 0 scratch)
> > INFO:   do_packagedata: 100.0% sstate reuse(243 setscene, 0 scratch)
> > INFO:   do_package_write_ipk: 100.0% sstate reuse(243 setscene, 0
> scratch)
> > INFO:   do_populate_lic: 100.0% sstate reuse(395 setscene, 0 scratch)
> > INFO: Writing buildhistory
> > INFO: Writing buildhistory took: 10 seconds
> > libgcc_s.so.1 must be installed for pthread_cancel to work
> > /lmp/bb-build.sh: line 24: 91770 Aborted                 (core dumped)
> bitbake -D ...
>
> This is the build system's python saying it can't find libgcc_s.so.1 so
> I'd start by checking it is there. I'm assuming you're not using
> buildtools?
>

No, I am not using the buildtools nor the uninative.
My build container is ubuntu 20.04 based and dont have libgcc.
This is not the first time I see this error in the last few weeks
but I'll go install libgcc and it should fix my issue, if not i will come
back.

Jose



>
> Cheers,
>
> Richard
>
Richard Purdie Jan. 17, 2023, 3:07 p.m. UTC | #4
On Tue, 2023-01-17 at 14:35 +0000, Jose Quaresma wrote:
> No, I don't have libgcc installed on my build container and this is
> the main reason.
> I know that we now need the libgcc on the build host and this can
> satisfied in two different ways:
> 
> 1 - installing the libgcc on the build host

This is the correct thing to do here.

> 2 - using the unative
> 
> For now I will use the [1] because I don't use the uninative.
> Maybe the documentation needs to be updated adding the libgcc
> as a requirement of bitbake.

To be clear, this is a distro python dependency problem. python is
needing libgcc but is missing a dependency, that is the real issue.

We can document it as a known problem and something to install but we
should be clear it is required by python.

> 
> No, I am not using the buildtools nor the uninative.
> My build container is ubuntu 20.04 based and dont have libgcc.
> This is not the first time I see this error in the last few weeks
> but I'll go install libgcc and it should fix my issue, if not i will
> come back.

Sounds good. We should add libgcc to the list of packages to ensure are
installed in the docs. Patches for that would be very welcome.
 
Cheers,

Richard
Jose Quaresma Jan. 17, 2023, 3:23 p.m. UTC | #5
Richard Purdie <richard.purdie@linuxfoundation.org> escreveu no dia terça,
17/01/2023 à(s) 15:07:

> On Tue, 2023-01-17 at 14:35 +0000, Jose Quaresma wrote:
> > No, I don't have libgcc installed on my build container and this is
> > the main reason.
> > I know that we now need the libgcc on the build host and this can
> > satisfied in two different ways:
> >
> > 1 - installing the libgcc on the build host
>
> This is the correct thing to do here.
>
> > 2 - using the unative
> >
> > For now I will use the [1] because I don't use the uninative.
> > Maybe the documentation needs to be updated adding the libgcc
> > as a requirement of bitbake.
>
> To be clear, this is a distro python dependency problem. python is
> needing libgcc but is missing a dependency, that is the real issue.
>
> We can document it as a known problem and something to install but we
> should be clear it is required by python.
>
> >
> > No, I am not using the buildtools nor the uninative.
> > My build container is ubuntu 20.04 based and dont have libgcc.
> > This is not the first time I see this error in the last few weeks
> > but I'll go install libgcc and it should fix my issue, if not i will
> > come back.
>
> Sounds good. We should add libgcc to the list of packages to ensure are
> installed in the docs. Patches for that would be very welcome.
>

I will do some tests with libgcc installed and after that send something
to update the documentation.

Thanks for your time.

Jose


>
> Cheers,
>
> Richard
>
diff mbox series

Patch

diff --git a/meta/recipes-core/meta/uninative-tarball.bb b/meta/recipes-core/meta/uninative-tarball.bb
index a21d08b591c..4aecf39b890 100644
--- a/meta/recipes-core/meta/uninative-tarball.bb
+++ b/meta/recipes-core/meta/uninative-tarball.bb
@@ -20,6 +20,7 @@  TOOLCHAIN_HOST_TASK = "\
     nativesdk-libxcrypt-compat \
     nativesdk-libnss-nis \
     nativesdk-sdk-provides-dummy \
+    nativesdk-libgcc \
     "
 
 INHIBIT_DEFAULT_DEPS = "1"