On Wed, 30 Oct 2024 at 15:23, Mathieu Dubois-Briand via lists.openembedded.org <[email protected]> wrote:
> Differences can be seen here: > - https://valkyrie.yocto.io/pub/repro-fail/oe-reproducible-20241030-a5e77d8y/ > - > https://valkyrie.yocto.io/pub/repro-fail/oe-reproducible-20241030-a5e77d8y/packages/diff-html/ > > Can you have a look please ? I believe there are two separate reproducibility issues there: 1. usr/lib/python3.13/site-packages/numpy/__config__.py contains numerous references to compiler and linker flags which contains build paths. This is not uncommon, and we generally handle it by patching these out after the fact with sed in do_install:append() or similar. Plenty of examples all over oe-core. 2. The second issue is slightly trickier. There's a number of generated c files produced by cython and they contain lines like: static const char __pyx_k_srv_storage_alex_yocto_build_64[] = "/srv/storage/alex/yocto/build-64/tmp/work/core2-64-poky-linux/python3-numpy/2.1.2/numpy-2.1.2/numpy/random/bit_generator.pyx"; PyObject *__pyx_kp_s_srv_storage_alex_yocto_build_64; etc. This needs to be fixed by tracking down where in cython this stuff is generated, and replacing real paths (or parts of them) with something reproducible, like 'reproducible_build_path' or similar. Then this should be submitted or raised with upstream. 3. We should also drop # Python pyx -> c -> so build leaves absolute build paths in the code INSANE_SKIP:${PN} += "buildpaths" INSANE_SKIP:${PN}-src += "buildpaths" from meta/classes-recipe/python_mesonpy.bbclass when point two is addressed. Hope this helps, Alex
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#206614): https://lists.openembedded.org/g/openembedded-core/message/206614 Mute This Topic: https://lists.openembedded.org/mt/109284027/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
