I suspect the problem is the rebase of the symbol visibility patch went wrong?

Ross

> On 26 Sep 2024, at 12:50, Ross Burton <[email protected]> wrote:
> 
> 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 (#204980): 
https://lists.openembedded.org/g/openembedded-core/message/204980
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