Message ID | 20240902162710.1284914-1-martin.jansa@gmail.com |
---|---|
State | Under Review |
Headers | show |
Series | [meta-oe] python3-matplotlib: add native RSS to -fmacro-prefix-map to fix buildpaths QA | expand |
This is related RFC patch just sent to oe-core ML: https://lists.openembedded.org/g/openembedded-core/message/204110 On Mon, Sep 2, 2024 at 6:27 PM Martin Jansa <martin.jansa@gmail.com> wrote: > > * fixes: > ERROR: lib32-python3-matplotlib-3.7.2-r0 do_package_qa: QA Issue: File /usr/lib/python3.12/site-packages/matplotlib/_tri.cpython-312-i386-linux-gnu.so in package lib32-python3-matplotlib contains reference to TMPDIR [buildpaths] > > * there is native RSS already but only in -fdebug-prefix-map > > * it fails only with multilib where target RSS isn't substring of native RSS > > * comparing _tri.cpython-312-*-linux-gnu.so cmdline for regular x86-64 and lib32-python3-matplotlib i586 build shows: > > --fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/python3-matplotlib/3.7.2 \ > --fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/python3-matplotlib/3.7.2 \ > --fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/python3-matplotlib/3.7.2 \ > --fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/python3-matplotlib/3.7.2 \ > --fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/recipe-sysroot= \ > --fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/recipe-sysroot= \ > --fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/recipe-sysroot-native= \ > +-fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/lib32-python3-matplotlib/3.7.2 \ > +-fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/lib32-python3-matplotlib/3.7.2 \ > +-fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/lib32-python3-matplotlib/3.7.2 \ > +-fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/lib32-python3-matplotlib/3.7.2 \ > +-fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/lib32-recipe-sysroot= \ > +-fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/lib32-recipe-sysroot= \ > +-fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native= \ > > * the buildpaths are header files from native pybind11 (Pybind11Extension) > https://github.com/pybind/pybind11/blob/master/pybind11/setup_helpers.py#L89 > > $ strings package/usr/lib/python3.12/site-packages/matplotlib/_tri.cpython-312-i386-linux-gnu.so | grep oemllib32 > /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/../detail/common.h > /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/../detail/../pytypes.h > /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/class.h > /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/../detail/type_caster_base.h > /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h > /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/gil.h > /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/gil_safe_call_once.h > > * I'm not familiar enough with pybind11 to find a way how to configure it to > use correct include dir, the issue already exists in regular x86-64 dir, but > not caught by buildpaths, because, the: > -fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/recipe-sysroot= > is enought to mangle the hardcoded paths (leaving only '-native') like this: > > strings ../3.7.2-x86-64/package/usr/lib64/python3.12/site-packages/matplotlib/_tri.cpython-312-x86_64-linux-gnu.so | grep pybind11/include/pybind11 > -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/common.h > -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/pytypes.h > -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/class.h > -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/type_caster_base.h > -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h > -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/gil.h > -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/gil_safe_call_once.h > > * there is also: > WARNING: lib32-python3-matplotlib-3.7.2-r0 do_check_backend: QA Issue: inherits setuptools3 but has pyproject.toml with setuptools.build_meta, use the correct class [pep517-backend] > but just changing the inherit doesn't work in this case, I'll leave that > to someone actually using python3-matplotlib > > Signed-off-by: Martin Jansa <martin.jansa@gmail.com> > --- > .../recipes-devtools/python/python3-matplotlib_3.7.2.bb | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/meta-python/recipes-devtools/python/python3-matplotlib_3.7.2.bb b/meta-python/recipes-devtools/python/python3-matplotlib_3.7.2.bb > index 72c369100a..2886060a9e 100644 > --- a/meta-python/recipes-devtools/python/python3-matplotlib_3.7.2.bb > +++ b/meta-python/recipes-devtools/python/python3-matplotlib_3.7.2.bb > @@ -68,3 +68,8 @@ do_compile:prepend() { > } > > BBCLASSEXTEND = "native" > + > +# otherwise pybind11 paths from STAGING_DIR_NATIVE end in _tri.cpython-312-i386-linux-gnu.so > +# when STAGING_DIR_NATIVE doesn't start with STAGING_DIR_HOST (e.g. for lib32-python3-matplotlib) > +# http://errors.yoctoproject.org/Errors/Details/801217/ > +DEBUG_PREFIX_MAP:append = " -fmacro-prefix-map=${STAGING_DIR_NATIVE}=" > -- > 2.46.0 >
Khem: please drop this one from master-next It was added in the default DEBUG_PREFIX_MAP in oe-core now. On Mon, Sep 2, 2024 at 6:30 PM Martin Jansa via lists.openembedded.org <martin.jansa=gmail.com@lists.openembedded.org> wrote: > > This is related RFC patch just sent to oe-core ML: > https://lists.openembedded.org/g/openembedded-core/message/204110 > > On Mon, Sep 2, 2024 at 6:27 PM Martin Jansa <martin.jansa@gmail.com> wrote: > > > > * fixes: > > ERROR: lib32-python3-matplotlib-3.7.2-r0 do_package_qa: QA Issue: File /usr/lib/python3.12/site-packages/matplotlib/_tri.cpython-312-i386-linux-gnu.so in package lib32-python3-matplotlib contains reference to TMPDIR [buildpaths] > > > > * there is native RSS already but only in -fdebug-prefix-map > > > > * it fails only with multilib where target RSS isn't substring of native RSS > > > > * comparing _tri.cpython-312-*-linux-gnu.so cmdline for regular x86-64 and lib32-python3-matplotlib i586 build shows: > > > > --fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/python3-matplotlib/3.7.2 \ > > --fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/python3-matplotlib/3.7.2 \ > > --fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/python3-matplotlib/3.7.2 \ > > --fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/python3-matplotlib/3.7.2 \ > > --fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/recipe-sysroot= \ > > --fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/recipe-sysroot= \ > > --fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/recipe-sysroot-native= \ > > +-fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/lib32-python3-matplotlib/3.7.2 \ > > +-fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/lib32-python3-matplotlib/3.7.2 \ > > +-fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/lib32-python3-matplotlib/3.7.2 \ > > +-fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/lib32-python3-matplotlib/3.7.2 \ > > +-fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/lib32-recipe-sysroot= \ > > +-fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/lib32-recipe-sysroot= \ > > +-fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native= \ > > > > * the buildpaths are header files from native pybind11 (Pybind11Extension) > > https://github.com/pybind/pybind11/blob/master/pybind11/setup_helpers.py#L89 > > > > $ strings package/usr/lib/python3.12/site-packages/matplotlib/_tri.cpython-312-i386-linux-gnu.so | grep oemllib32 > > /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/../detail/common.h > > /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/../detail/../pytypes.h > > /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/class.h > > /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/../detail/type_caster_base.h > > /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h > > /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/gil.h > > /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/gil_safe_call_once.h > > > > * I'm not familiar enough with pybind11 to find a way how to configure it to > > use correct include dir, the issue already exists in regular x86-64 dir, but > > not caught by buildpaths, because, the: > > -fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/recipe-sysroot= > > is enought to mangle the hardcoded paths (leaving only '-native') like this: > > > > strings ../3.7.2-x86-64/package/usr/lib64/python3.12/site-packages/matplotlib/_tri.cpython-312-x86_64-linux-gnu.so | grep pybind11/include/pybind11 > > -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/common.h > > -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/pytypes.h > > -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/class.h > > -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/type_caster_base.h > > -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h > > -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/gil.h > > -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/gil_safe_call_once.h > > > > * there is also: > > WARNING: lib32-python3-matplotlib-3.7.2-r0 do_check_backend: QA Issue: inherits setuptools3 but has pyproject.toml with setuptools.build_meta, use the correct class [pep517-backend] > > but just changing the inherit doesn't work in this case, I'll leave that > > to someone actually using python3-matplotlib > > > > Signed-off-by: Martin Jansa <martin.jansa@gmail.com> > > --- > > .../recipes-devtools/python/python3-matplotlib_3.7.2.bb | 5 +++++ > > 1 file changed, 5 insertions(+) > > > > diff --git a/meta-python/recipes-devtools/python/python3-matplotlib_3.7.2.bb b/meta-python/recipes-devtools/python/python3-matplotlib_3.7.2.bb > > index 72c369100a..2886060a9e 100644 > > --- a/meta-python/recipes-devtools/python/python3-matplotlib_3.7.2.bb > > +++ b/meta-python/recipes-devtools/python/python3-matplotlib_3.7.2.bb > > @@ -68,3 +68,8 @@ do_compile:prepend() { > > } > > > > BBCLASSEXTEND = "native" > > + > > +# otherwise pybind11 paths from STAGING_DIR_NATIVE end in _tri.cpython-312-i386-linux-gnu.so > > +# when STAGING_DIR_NATIVE doesn't start with STAGING_DIR_HOST (e.g. for lib32-python3-matplotlib) > > +# http://errors.yoctoproject.org/Errors/Details/801217/ > > +DEBUG_PREFIX_MAP:append = " -fmacro-prefix-map=${STAGING_DIR_NATIVE}=" > > -- > > 2.46.0 > > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#112075): https://lists.openembedded.org/g/openembedded-devel/message/112075 > Mute This Topic: https://lists.openembedded.org/mt/108229723/3617156 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [martin.jansa@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
On Sun, Sep 8, 2024 at 12:35 AM Martin Jansa via lists.openembedded.org <martin.jansa=gmail.com@lists.openembedded.org> wrote: > Khem: please drop this one from master-next > > It was added in the default DEBUG_PREFIX_MAP in oe-core now. Yes thanks I was adding it for testing a local issue I was seeing with clang. Thanks for letting me know regardless > > On Mon, Sep 2, 2024 at 6:30 PM Martin Jansa via lists.openembedded.org > <martin.jansa=gmail.com@lists.openembedded.org> wrote: > > > > This is related RFC patch just sent to oe-core ML: > > https://lists.openembedded.org/g/openembedded-core/message/204110 > > > > On Mon, Sep 2, 2024 at 6:27 PM Martin Jansa <martin.jansa@gmail.com> > wrote: > > > > > > * fixes: > > > ERROR: lib32-python3-matplotlib-3.7.2-r0 do_package_qa: QA Issue: > File /usr/lib/python3.12/site-packages/matplotlib/_ > tri.cpython-312-i386-linux-gnu.so in package lib32-python3-matplotlib > contains reference to TMPDIR [buildpaths] > > > > > > * there is native RSS already but only in -fdebug-prefix-map > > > > > > * it fails only with multilib where target RSS isn't substring of > native RSS > > > > > > * comparing _tri.cpython-312-*-linux-gnu.so cmdline for regular x86-64 > and lib32-python3-matplotlib i586 build shows: > > > > > > > --fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/python3-matplotlib/3.7.2 > \ > > > > --fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/python3-matplotlib/3.7.2 > \ > > > > --fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/python3-matplotlib/3.7.2 > \ > > > > --fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/python3-matplotlib/3.7.2 > \ > > > > --fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/recipe-sysroot= > \ > > > > --fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/recipe-sysroot= > \ > > > > --fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/recipe-sysroot-native= > \ > > > > +-fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/lib32-python3-matplotlib/3.7.2 > \ > > > > +-fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/lib32-python3-matplotlib/3.7.2 > \ > > > > +-fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/lib32-python3-matplotlib/3.7.2 > \ > > > > +-fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/lib32-python3-matplotlib/3.7.2 > \ > > > > +-fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/lib32-recipe-sysroot= > \ > > > > +-fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/lib32-recipe-sysroot= > \ > > > > +-fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native= > \ > > > > > > * the buildpaths are header files from native pybind11 > (Pybind11Extension) > > > > https://github.com/pybind/pybind11/blob/master/pybind11/setup_helpers.py#L89 > > > > > > $ strings package/usr/lib/python3.12/site-packages/matplotlib/_ > tri.cpython-312-i386-linux-gnu.so | grep oemllib32 > > > > /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/../detail/common.h > > > > /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/../detail/../pytypes.h > > > > /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/class.h > > > > /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/../detail/type_caster_base.h > > > > /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h > > > > /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/gil.h > > > > /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/gil_safe_call_once.h > > > > > > * I'm not familiar enough with pybind11 to find a way how to configure > it to > > > use correct include dir, the issue already exists in regular x86-64 > dir, but > > > not caught by buildpaths, because, the: > > > > -fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/recipe-sysroot= > > > is enought to mangle the hardcoded paths (leaving only '-native') > like this: > > > > > > strings > ../3.7.2-x86-64/package/usr/lib64/python3.12/site-packages/matplotlib/_ > tri.cpython-312-x86_64-linux-gnu.so | grep pybind11/include/pybind11 > > > > -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/common.h > > > > -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/pytypes.h > > > > -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/class.h > > > > -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/type_caster_base.h > > > > -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h > > > > -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/gil.h > > > > -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/gil_safe_call_once.h > > > > > > * there is also: > > > WARNING: lib32-python3-matplotlib-3.7.2-r0 do_check_backend: QA > Issue: inherits setuptools3 but has pyproject.toml with > setuptools.build_meta, use the correct class [pep517-backend] > > > but just changing the inherit doesn't work in this case, I'll leave > that > > > to someone actually using python3-matplotlib > > > > > > Signed-off-by: Martin Jansa <martin.jansa@gmail.com> > > > --- > > > .../recipes-devtools/python/python3-matplotlib_3.7.2.bb | 5 > +++++ > > > 1 file changed, 5 insertions(+) > > > > > > diff --git a/meta-python/recipes-devtools/python/ > python3-matplotlib_3.7.2.bb b/meta-python/recipes-devtools/python/ > python3-matplotlib_3.7.2.bb > > > index 72c369100a..2886060a9e 100644 > > > --- a/meta-python/recipes-devtools/python/python3-matplotlib_3.7.2.bb > > > +++ b/meta-python/recipes-devtools/python/python3-matplotlib_3.7.2.bb > > > @@ -68,3 +68,8 @@ do_compile:prepend() { > > > } > > > > > > BBCLASSEXTEND = "native" > > > + > > > +# otherwise pybind11 paths from STAGING_DIR_NATIVE end in _ > tri.cpython-312-i386-linux-gnu.so > > > +# when STAGING_DIR_NATIVE doesn't start with STAGING_DIR_HOST (e.g. > for lib32-python3-matplotlib) > > > +# http://errors.yoctoproject.org/Errors/Details/801217/ > > > +DEBUG_PREFIX_MAP:append = " -fmacro-prefix-map=${STAGING_DIR_NATIVE}=" > > > -- > > > 2.46.0 > > > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#112124): > https://lists.openembedded.org/g/openembedded-devel/message/112124 > Mute This Topic: https://lists.openembedded.org/mt/108229723/1997914 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [ > raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- > >
diff --git a/meta-python/recipes-devtools/python/python3-matplotlib_3.7.2.bb b/meta-python/recipes-devtools/python/python3-matplotlib_3.7.2.bb index 72c369100a..2886060a9e 100644 --- a/meta-python/recipes-devtools/python/python3-matplotlib_3.7.2.bb +++ b/meta-python/recipes-devtools/python/python3-matplotlib_3.7.2.bb @@ -68,3 +68,8 @@ do_compile:prepend() { } BBCLASSEXTEND = "native" + +# otherwise pybind11 paths from STAGING_DIR_NATIVE end in _tri.cpython-312-i386-linux-gnu.so +# when STAGING_DIR_NATIVE doesn't start with STAGING_DIR_HOST (e.g. for lib32-python3-matplotlib) +# http://errors.yoctoproject.org/Errors/Details/801217/ +DEBUG_PREFIX_MAP:append = " -fmacro-prefix-map=${STAGING_DIR_NATIVE}="
* fixes: ERROR: lib32-python3-matplotlib-3.7.2-r0 do_package_qa: QA Issue: File /usr/lib/python3.12/site-packages/matplotlib/_tri.cpython-312-i386-linux-gnu.so in package lib32-python3-matplotlib contains reference to TMPDIR [buildpaths] * there is native RSS already but only in -fdebug-prefix-map * it fails only with multilib where target RSS isn't substring of native RSS * comparing _tri.cpython-312-*-linux-gnu.so cmdline for regular x86-64 and lib32-python3-matplotlib i586 build shows: --fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/python3-matplotlib/3.7.2 \ --fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/python3-matplotlib/3.7.2 \ --fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/python3-matplotlib/3.7.2 \ --fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/python3-matplotlib/3.7.2 \ --fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/recipe-sysroot= \ --fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/recipe-sysroot= \ --fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/recipe-sysroot-native= \ +-fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/lib32-python3-matplotlib/3.7.2 \ +-fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/lib32-python3-matplotlib/3.7.2 \ +-fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/lib32-python3-matplotlib/3.7.2 \ +-fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/matplotlib-3.7.2=/usr/src/debug/lib32-python3-matplotlib/3.7.2 \ +-fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/lib32-recipe-sysroot= \ +-fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/lib32-recipe-sysroot= \ +-fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native= \ * the buildpaths are header files from native pybind11 (Pybind11Extension) https://github.com/pybind/pybind11/blob/master/pybind11/setup_helpers.py#L89 $ strings package/usr/lib/python3.12/site-packages/matplotlib/_tri.cpython-312-i386-linux-gnu.so | grep oemllib32 /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/../detail/common.h /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/../detail/../pytypes.h /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/class.h /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/../detail/type_caster_base.h /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/gil.h /OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/gil_safe_call_once.h * I'm not familiar enough with pybind11 to find a way how to configure it to use correct include dir, the issue already exists in regular x86-64 dir, but not caught by buildpaths, because, the: -fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/python3-matplotlib/3.7.2/recipe-sysroot= is enought to mangle the hardcoded paths (leaving only '-native') like this: strings ../3.7.2-x86-64/package/usr/lib64/python3.12/site-packages/matplotlib/_tri.cpython-312-x86_64-linux-gnu.so | grep pybind11/include/pybind11 -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/common.h -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/pytypes.h -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/class.h -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/detail/type_caster_base.h -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/gil.h -native/usr/lib/python3.12/site-packages/pybind11/include/pybind11/gil_safe_call_once.h * there is also: WARNING: lib32-python3-matplotlib-3.7.2-r0 do_check_backend: QA Issue: inherits setuptools3 but has pyproject.toml with setuptools.build_meta, use the correct class [pep517-backend] but just changing the inherit doesn't work in this case, I'll leave that to someone actually using python3-matplotlib Signed-off-by: Martin Jansa <martin.jansa@gmail.com> --- .../recipes-devtools/python/python3-matplotlib_3.7.2.bb | 5 +++++ 1 file changed, 5 insertions(+)