[OE-core] [PATCH v2] python3: RDEPEND on libgcc

Joshua Watt jpewhacker at gmail.com
Tue Dec 31 19:25:40 UTC 2019


On Tue, Dec 31, 2019 at 1:11 PM Khem Raj <raj.khem at gmail.com> wrote:
>
> On Tue, Dec 31, 2019 at 11:07 AM Joshua Watt <jpewhacker at gmail.com> wrote:
> >
> > Python uses features of glibc that require it to dynamically load (i.e.
> > dlopen()) libgcc_s at runtime. However, since this isn't a link time
> > dependency, it doesn't get picked up automatically by bitbake so
> > manually add it to RDEPENDS.
> >
> > There is an outstanding bug in Python to make it explicitly link against
> > libgcc at link time which would remove the need for this. See:
> > https://bugs.python.org/issue37395
> >
> > Signed-off-by: Joshua Watt <JPEWhacker at gmail.com>
> > ---
> >  meta/recipes-devtools/python/python3_3.7.5.bb | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/meta/recipes-devtools/python/python3_3.7.5.bb b/meta/recipes-devtools/python/python3_3.7.5.bb
> > index 137b540dba..78312b05f3 100644
> > --- a/meta/recipes-devtools/python/python3_3.7.5.bb
> > +++ b/meta/recipes-devtools/python/python3_3.7.5.bb
> > @@ -306,6 +306,8 @@ RPROVIDES_${PN}-venv += "python3-pyvenv"
> >  PACKAGES =+ "libpython3 libpython3-staticdev"
> >  FILES_libpython3 = "${libdir}/libpython*.so.*"
> >  FILES_libpython3-staticdev += "${prefix}/lib/python${PYTHON_MAJMIN}/config-${PYTHON_BINABI}-*/libpython${PYTHON_BINABI}.a"
> > +# See https://bugs.python.org/issue18748 and https://bugs.python.org/issue37395
> > +RDEPENDS_libpython3 += "libgcc"
>
> while this is glibc specific change depending on gcc runtime, it seems
> we should only apply is when we use gcc runtime and glibc
>
> glibc part is easy just use libc-glibc override for gcc runtime piece
> perhaps, its good to introduce, virtual/compiler-runtime and let
> libgcc
> provide it by default, but let apps depend on virtual/compiler-runtime

I'll use the libc-glibc override so that it's specific to glibc, but I
think the virtual/compiler-runtime might be a bit premature, unless
you know of a usecase where it would currently be necessary?

>
>
> >  INSANE_SKIP_${PN}-dev += "dev-elf"
> >
> >  # catch all the rest (unsorted)
> > --
> > 2.23.0
> >
> > --
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core at lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core


More information about the Openembedded-core mailing list