[Buildroot] [PATCH 1/1] package/pkg-python: fix python 3.8.0 package builds
Arnout Vandecappelle
arnout at mind.be
Sat Oct 19 19:48:01 UTC 2019
On 19/10/2019 21:06, Peter Korsgaard wrote:
>>>>>> "Arnout" == Arnout Vandecappelle <arnout at mind.be> writes:
>
> > On 19/10/2019 18:50, James Hilliard wrote:
> >> On Sat, Oct 19, 2019 at 2:45 PM Peter Korsgaard <peter at korsgaard.com> wrote:
> >>>
> >>>>>>>> "James" == James Hilliard <james.hilliard1 at gmail.com> writes:
> >>>
> >>> > We need to update the sysconfigdata path for python 3.8.0 per upstream
> >>> > commit 7efc526e5cfb929a79c192ac2dcf7eb78d3a4401 which indicates the "m"
> >>> > flag has been removed from sys.abiflags.
> >>>
> >>> > Fixes this build error when building target packages:
> >>> > ValueError: Empty module name
> >>>
> >>> > Signed-off-by: James Hilliard <james.hilliard1 at gmail.com>
> >>> > ---
> >>> > package/pkg-python.mk | 2 +-
> >>> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >>>
> >>> > diff --git a/package/pkg-python.mk b/package/pkg-python.mk
> >>> > index e906920417..be1ce071df 100644
> >>> > --- a/package/pkg-python.mk
> >>> > +++ b/package/pkg-python.mk
> >>> > @@ -21,7 +21,7 @@
> >>> > ################################################################################
> >>>
> >>> > define PKG_PYTHON_SYSCONFIGDATA_NAME
> >>> > -$(basename $(notdir $(wildcard
> >>> > $(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/_sysconfigdata_m_linux_*.py)))
> >>> > +$(basename $(notdir $(wildcard
> >>> > $(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/_sysconfigdata__linux_*.py)))
> >>>
> >>> Ehh, this presumably then breaks it for python 2.7?
> >> I assume not since the path has $(PYTHON3_VERSION_MAJOR) in it which I
> >> don't think does anything for python2 builds.
>
> > To be entirely complete: in Python 2.7, it's called _sysconfigdata.py (without
> > arch specification). However, since the thing is in a $(wildcard), nothing
> > matches (even if we would use PYTHON_VERSION_MAJOR), so
> > _PYTHON_SYSCONFIGDATA_NAME is set to empty.
>
> Ahh yes. So why is it not needed on 2.7? Because it is installed in a
> location mentioned in PYTHONPATH?
I'm not sure, but I think the reason why we pass it in Python3 is that
otherwise it will use _sysconfigdata_m_linux_x86_64-linux-gnu.py instead of
_sysconfigdata_m_linux_aarch64-linux-gnu.
In Python2.7, there's only one sysconfigdata, which I assume is the one for
cross-compilation. Or maybe it's just wrong and we never noticed :-)
Regards,
Arnout
>
> > In [1] I set _PYTHON_SYSCONFIGDATA_NAME to _sysconfigdata.py for Python2.7 (but
> > only in meson-package, I'm not sure why...), but Adam says that this breaks
> > libglib2...
>
> > Anyway, this patch is definitely correct.
>
> Correct. Applied, thanks.
>
More information about the buildroot
mailing list