This breaks meta-virt, which uses python3-dtc in its build:

Traceback (most recent call last):
File 
"[...]/work/qemuarm64-poky-linux/xen-image-minimal/1.0/recipe-sysroot-native/usr/bin/lopper",
 line 8, in <module>
sys.exit(main())
^^^^^^
File 
"[...]/work/qemuarm64-poky-linux/xen-image-minimal/1.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/lopper/__main__.py",
 line 220, in main
import lopper.fdt
File 
"[...]/work/qemuarm64-poky-linux/xen-image-minimal/1.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/lopper/fdt.py",
 line 46, in <module>
import libfdt
File 
"[...]/work/qemuarm64-poky-linux/xen-image-minimal/1.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/libfdt.py",
 line 12, in <module>
import _libfdt
ImportError: 
[...]/work/qemuarm64-poky-linux/xen-image-minimal/1.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/_libfdt.cpython-312-x86_64-linux-gnu.so:
 undefined symbol: fdt_get_symbol

Ross

> On 24 Sep 2024, at 16:00, Trevor Gamblin via lists.openembedded.org 
> <[email protected]> wrote:
> 
> Patch '0001-Revert-libfdt-overlay-make-overlay_get_target-public.patch'
> had to be adjusted to apply on the latest version.
> 
> Changelog:
> 
> 99031e3 (tag: v1.7.1, origin/master, origin/main, origin/HEAD, master) Bump 
> version to v1.7.1
> 3d5e376 setup: Move setting of srcdir down to the bottom
> e277553 setup: Collect top-level code together
> 7e5a889 setup: Move version and full_description into a function
> 78b6a85 Tidy up some pylint warnings
> 3501d37 Require Python 3
> bcd02b5 fdtoverlay: remove wrong singular article in a comment
> 84b056a checks: relax graph checks for overlays
> 1df7b04 pylibfdt/Makefile.pylibfdt: use project's flags to compile the 
> extension
> 61e88fd libfdt: overlay: Fix phandle overwrite check for new subtrees
> 49d3089 meson: fix installation with meson-python
> d54aaf9 pylibfdt: clean up python build directory
> ab86f1e pylibfdt: add VERSION.txt to Python sdist
> 7b8a30e pylibfdt: fix Python version
> ff4f17e pylibfdt/Makefile.pylibfdt: fix Python library being rebuild during 
> install
> 9e313b1 pylibfdt/meson.build: fix Python library being rebuilt during install
> d598fc3 tests/run_tests.sh: fix Meson library path being dropped
> b98239d tests/meson.build: fix python and yaml tests not running
> c17d76a checks: Check the overall length of "interrupt-map"
> ae26223 libfdt: overlay: Refactor overlay_fixup_phandle
> 4dd831a libfdt: tests: Update test case for overlay_bad_fixup
> e6d2942 tests: Remove two_roots and named_root from LIBTREE_TESTS_L and add 
> all dtb filenames generated by dumptrees to TESTS_TREES_L in Makefile.tests
> 855c934 tests: fix tests broken under Meson
> 4fd3f4f github: enforce testing pylibfdt and yaml support
> 9ca7d62 meson: split run-tests by type
> bb51223 meson: fix dependencies of tests
> e819006 meson: fix pylibfdt missing dependency on libfdt
> 8221238 pylibfdt: fix get_mem_rsv for newer Python versions
> 1fad065 libfdt: overlay: ensure that existing phandles are not overwritten
> b0aacd0 github: add windows/msys CI build
> ae97d97 github: Don't accidentally suppress test errors
> 057a7db github: Display meson test logs on failure
> 92b5d4e pylibfdt: Remove some apparently deprecated options from setup.py
> 417e329 github: Update to newer checkout action
> 5e6cefa fix MinGW format attribute
> 24f6001 libfdt: Simplify adjustment of values for local fixups
> da39ee0 libfdt: rework shared/static libraries
> a669223 Makefile: do not hardcode the `install` program path
> 3fbfdd0 libfdt: fix duplicate meson target
> dcef5f8 tests: use correct pkg-config when cross compiling
> 0b8026f meson: allow building from shallow clones
> 95c74d7 treesource: Restore string list output when no type markers
> 2283dd7 libfdt: fdt_path_offset_namelen: Reject empty path
> 79b9e32 libfdt: fdt_get_alias_namelen: Validate aliases
> 52157f1 pylibfdt: Support boolean properties
> d774337 dtc: fix missing string in usage_opts_help
> ad8bf9f libfdt: Fix fdt_appendprop_addrrange documentation
> 6c5e189 github: add workflow for Meson builds
> a3dc9f0 libfdt: rename libfdt-X.Y.Z.so to libfdt.so.X.Y.Z
> 3501994 workflows: build: remove setuptools_scm hack
> cd3e230 pylibfdt: use fallback version in tarballs
> 0f58645 move release version into VERSION.txt
> 3816595 libfdt: add missing version symbols
> 5e98b59 editorconfig: use tab indentation for version.lds
> d030a89 tests: generate dtbs in Meson build directory
> 8d8372b tests: fix use of deprecated meson methods
> 761114e pylibtfdt: fix use of deprecated meson method
> bf6377a meson: set minimum Meson version to 0.56.0
> 4c68e4b libfdt: fix library version to match project version
> bdc5c87 meson: allow disabling tests
> f088e38 Makefile: allow to install libfdt without building executables
> 6df5328 Fix use of <ctype.h> functions
> ccf1f62 libfdt: Fix a typo in libfdt.h
> 71a8b8e libfdt: meson: Fix linking on macOS linker
> 589d8c7 dtc: Add an option to generate __local_fixups__ and __fixups__
> e836466 CI: Add build matrix with multiple Linux distributions
> 3b02a94 dtc: Correct invalid dts output with mixed phandles and integers
> d488895 tests: Add additional tests for device graph checks
> ea3b9a1 checks: Fix crash in graph_child_address if 'reg' cell size != 1
> b2b9671 livetree: fix off-by-one in propval_cell_n() bounds check
> ab481e4 Add definition for a GitHub Actions CI job
> c88038c Drop obsolete/broken CI definitions
> 0ac8b30 yaml: Depend on libyaml >= 0.2.3
> f1657b2 tests: Add test cases for bad endpoint node and remote-endpoint prop 
> checks
> 44bb89c checks: Fix segmentation fault in check_graph_node
> 60bcf1c improve documentation for fdt_path_offset()
> a6f997b add fdt_get_symbol() and fdt_get_symbol_namelen() functions
> 18f5ec1 use fdt_path_getprop_namelen() in fdt_get_alias_namelen()
> df09327 add fdt_path_getprop_namelen() helper
> 129bb4b doc: dt-object-internal: Fix a typo
> 390f481 fdtoverlay: Drop a a repeated article
> 9f8b382 manual: Fix and improve documentation about -@
> 2cdf93a fdtoverlay: Fix usage string to not mention "<type>"
> 72fc810 build-sys: add -Wwrite-strings
> 083ab26 tests: fix leaks spotted by ASAN
> 6f8b28f livetree: fix leak spotted by ASAN
> fd68bb8 Make name_node() xstrdup its name argument
> 4718189 Delay xstrdup() of node and property names coming from a flat tree
> 0b842c3 Make build_property() xstrdup its name argument
> 9cceabe checks: correct I2C 10-bit address check
> 0d56145 yamltree.c: fix -Werror=discarded-qualifiers & -Werror=cast-qual
> 61fa22b checks: make check.data const
> 7a1d72a checks.c: fix check_msg() leak
> ee57999 checks.c: fix heap-buffer-overflow
> 44c9b73 tests: fix -Wwrite-strings
> 5b60f51 srcpos.c: fix -Wwrite-strings
> 32174a6 meson: Fix cell overflow tests when running from meson
> 64a907f meson.build: bump version to 1.7.0
> e3cde06 Add -Wsuggest-attribute=format warning, correct warnings thus 
> generated
> 4182182 Use #ifdef NO_VALGRIND
> 71c19f2 Do not redefine _GNU_SOURCE if already set
> 
> Signed-off-by: Trevor Gamblin <[email protected]>
> ---
> v2 adds my signoff to the carried patch, which was adjusted to apply on
> v1.7.1.
> 
> ...erlay-make-overlay_get_target-public.patch | 25 +++++++++++--------
> ...hon3-dtc_1.7.0.bb => python3-dtc_1.7.1.bb} |  2 +-
> 2 files changed, 15 insertions(+), 12 deletions(-)
> rename meta/recipes-devtools/python/{python3-dtc_1.7.0.bb => 
> python3-dtc_1.7.1.bb} (94%)
> 
> diff --git 
> a/meta/recipes-devtools/python/python3-dtc/0001-Revert-libfdt-overlay-make-overlay_get_target-public.patch
>  
> b/meta/recipes-devtools/python/python3-dtc/0001-Revert-libfdt-overlay-make-overlay_get_target-public.patch
> index a2df482e3aa..70dd93f7471 100644
> --- 
> a/meta/recipes-devtools/python/python3-dtc/0001-Revert-libfdt-overlay-make-overlay_get_target-public.patch
> +++ 
> b/meta/recipes-devtools/python/python3-dtc/0001-Revert-libfdt-overlay-make-overlay_get_target-public.patch
> @@ -1,4 +1,4 @@
> -From 4d4703e0199fb3556c37694e4d951785abca22fd Mon Sep 17 00:00:00 2001
> +From 20b224b8ab1837778dfd0e7171643a5d26675f95 Mon Sep 17 00:00:00 2001
> From: Bruce Ashfield <[email protected]>
> Date: Wed, 19 Jan 2022 12:46:42 -0500
> Subject: [PATCH] Revert "libfdt: overlay: make overlay_get_target() public"
> @@ -7,6 +7,9 @@ This reverts commit 45f3d1a095dd3440578d5c6313eba555a791f3fb.
> 
> Upstream-Status: Inappropriate [embedded specific]
> 
> +Adjust to apply on v1.7.1.
> +
> +Signed-off-by: Trevor Gamblin <[email protected]>
> ---
>  libfdt/fdt_overlay.c | 29 ++++++++++++++++++++++-------
>  libfdt/libfdt.h      | 18 ------------------
> @@ -14,7 +17,7 @@ Upstream-Status: Inappropriate [embedded specific]
>  3 files changed, 22 insertions(+), 26 deletions(-)
> 
> diff --git a/libfdt/fdt_overlay.c b/libfdt/fdt_overlay.c
> -index 5c0c398..d217e79 100644
> +index 28b667f..e6e9382 100644
> --- a/libfdt/fdt_overlay.c
> +++ b/libfdt/fdt_overlay.c
> @@ -40,22 +40,37 @@ static uint32_t overlay_get_target_phandle(const void 
> *fdto, int fragment)
> @@ -59,7 +62,7 @@ index 5c0c398..d217e79 100644
>   if (path)
>   ret = fdt_path_offset(fdt, path);
>   else
> -@@ -621,7 +636,7 @@ static int overlay_merge(void *fdt, void *fdto)
> +@@ -848,7 +863,7 @@ static int overlay_merge(void *fdt, void *fdto)
>   if (overlay < 0)
>   return overlay;
> 
> @@ -68,7 +71,7 @@ index 5c0c398..d217e79 100644
>   if (target < 0)
>   return target;
> 
> -@@ -764,7 +779,7 @@ static int overlay_symbol_update(void *fdt, void *fdto)
> +@@ -991,7 +1006,7 @@ static int overlay_symbol_update(void *fdt, void *fdto)
>   return -FDT_ERR_BADOVERLAY;
> 
>   /* get the target of the fragment */
> @@ -77,7 +80,7 @@ index 5c0c398..d217e79 100644
>   if (ret < 0)
>   return ret;
>   target = ret;
> -@@ -786,7 +801,7 @@ static int overlay_symbol_update(void *fdt, void *fdto)
> +@@ -1013,7 +1028,7 @@ static int overlay_symbol_update(void *fdt, void *fdto)
> 
>   if (!target_path) {
>   /* again in case setprop_placeholder changed it */
> @@ -87,10 +90,10 @@ index 5c0c398..d217e79 100644
>   return ret;
>   target = ret;
> diff --git a/libfdt/libfdt.h b/libfdt/libfdt.h
> -index a7f432c..7f117e8 100644
> +index 0677fea..c72337b 100644
> --- a/libfdt/libfdt.h
> +++ b/libfdt/libfdt.h
> -@@ -2116,24 +2116,6 @@ int fdt_del_node(void *fdt, int nodeoffset);
> +@@ -2184,24 +2184,6 @@ int fdt_del_node(void *fdt, int nodeoffset);
>   */
>  int fdt_overlay_apply(void *fdt, void *fdto);
> 
> @@ -116,7 +119,7 @@ index a7f432c..7f117e8 100644
>  /* Debugging / informational functions                                */
>  /**********************************************************************/
> diff --git a/libfdt/version.lds b/libfdt/version.lds
> -index cbce5d4..7ab85f1 100644
> +index 989cd89..ae5f8c6 100644
> --- a/libfdt/version.lds
> +++ b/libfdt/version.lds
> @@ -77,7 +77,6 @@ LIBFDT_1.2 {
> @@ -124,9 +127,9 @@ index cbce5d4..7ab85f1 100644
>   fdt_setprop_inplace_namelen_partial;
>   fdt_create_with_flags;
> - fdt_overlay_target_offset;
> + fdt_get_symbol;
> + fdt_get_symbol_namelen;
>   local:
> - *;
> - };
> -- 
> -2.19.1
> +2.39.5
> 
> diff --git a/meta/recipes-devtools/python/python3-dtc_1.7.0.bb 
> b/meta/recipes-devtools/python/python3-dtc_1.7.1.bb
> similarity index 94%
> rename from meta/recipes-devtools/python/python3-dtc_1.7.0.bb
> rename to meta/recipes-devtools/python/python3-dtc_1.7.1.bb
> index 85e48d46942..269095bd8c9 100644
> --- a/meta/recipes-devtools/python/python3-dtc_1.7.0.bb
> +++ b/meta/recipes-devtools/python/python3-dtc_1.7.1.bb
> @@ -14,7 +14,7 @@ UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
> 
> LIC_FILES_CHKSUM = 
> "file://pylibfdt/libfdt.i;beginline=1;endline=6;md5=afda088c974174a29108c8d80b5dce90"
> 
> -SRCREV = "039a99414e778332d8f9c04cbd3072e1dcc62798"
> +SRCREV = "99031e3a4a6e479466ae795790b44727434ca27d"
> 
> S = "${WORKDIR}/git"
> 
> -- 
> 2.39.5
> 
> 
> 
> 

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#204978): 
https://lists.openembedded.org/g/openembedded-core/message/204978
Mute This Topic: https://lists.openembedded.org/mt/108629987/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to