libfdt: pass sources as keyword argument to library() Meson expects the source list for library() to be passed either as positional arguments after the target name or via the 'sources:' keyword. Using the implicit positional form can lead to malformed linker commands on some toolchains, with spurious arguments such as 'libfdt' and '.' being treated as input files. Explicitly pass the source list via 'sources: sources' and declare the ABI version with 'soversion: '1'' to match the installed libfdt.so.1 soname. This fixes build failures where the linker reported: cannot find libfdt: file format not recognized cannot find .: file format not recognized Signed-off-by: Héctor Orón Martínez <hector.oron@gmail.com> Message-ID: <CAODfWeHQcjGn0CtweT4Q9Em6WC9cTmvfxhuQCgae4gdu5W9hSA@mail.gmail.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
diff --git a/libfdt/meson.build b/libfdt/meson.build index 68d4c1d..6c41f9f 100644 --- a/libfdt/meson.build +++ b/libfdt/meson.build
@@ -27,8 +27,10 @@ link_args += version_script libfdt = library( - 'fdt', sources, + 'fdt', + sources: sources, version: meson.project_version(), + soversion: '1', link_args: link_args, link_depends: 'version.lds', install: get_option('default_library') != 'static' or not wheel_only,