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 <[email protected]> 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 <[email protected]> > --- > .../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/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
