* [PATCH 0/3] nfs-utils: musl upgrade to 3.1.1 and prerequisite systemd fixes
@ 2026-09-21 10:45 Jaipaul Cheernam
2026-09-21 10:45 ` [PATCH 1/3] systemd: fix musl build by providing missing POSIX limits Jaipaul Cheernam
` (3 more replies)
0 siblings, 4 replies; 11+ messages in thread
From: Jaipaul Cheernam @ 2026-09-21 10:45 UTC (permalink / raw)
To: openembedded-core
This series upgrades nfs-utils to 3.1.1 and fixes the two systemd musl
issues that block it.
On musl, nfs-utils cannot be built until systemd builds, because nfs-utils
depends on systemd (it installs systemd units). systemd 261.3 currently
fails on musl for two reasons, both addressed here first:
1. systemd's src/include/musl/limits.h override does not expose musl's
POSIX limits (PATH_MAX, NAME_MAX, SSIZE_MAX, ...), so do_compile fails.
Fixed by defining them in the override (submitted upstream, see
https://github.com/systemd/systemd/pull/43824).
2. do_package emits spurious "cannot find any provider" warnings for
optional (recommended/suggested) dlopen dependencies that legitimately
have no provider on musl, e.g. libintl.so.8 (musl keeps the gettext
symbols in libc). Downgraded to a note for non-required dependencies.
With those in place, nfs-utils is upgraded to 3.1.1: two local patches that
were merged upstream are dropped and the remaining ones refreshed.
The patches are ordered so the tree builds cleanly on musl at every step
(systemd fixes first, then the nfs-utils upgrade that relies on them).
glibc builds are unaffected; the systemd limits fix is libc-musl only.
Jaipaul Cheernam (3):
systemd: fix musl build by providing missing POSIX limits
systemd: dlopen-deps: only warn for missing required providers
nfs-utils: upgrade 2.9.2 -> 3.1.1
...tport-fix-missing-stddef.h-inclusion.patch | 27 ------
.../0004-Use-nogroup-for-nobody-group.patch | 4 +-
.../0005-find-OE-provided-Kerberos.patch | 2 +-
...e-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch | 47 ----------
...{nfs-utils_2.9.2.bb => nfs-utils_3.1.1.bb} | 4 +-
meta/recipes-core/systemd/dlopen-deps.inc | 12 ++-
...X-limits-missing-from-limits.h-overr.patch | 92 +++++++++++++++++++
meta/recipes-core/systemd/systemd_261.3.bb | 6 ++
8 files changed, 113 insertions(+), 81 deletions(-)
delete mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/0001-getport-fix-missing-stddef.h-inclusion.patch
delete mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/0006-configure.ac-gate-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch
rename meta/recipes-connectivity/nfs-utils/{nfs-utils_2.9.2.bb => nfs-utils_3.1.1.bb} (96%)
create mode 100644 meta/recipes-core/systemd/systemd/0001-musl-define-POSIX-limits-missing-from-limits.h-overr.patch
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/3] systemd: fix musl build by providing missing POSIX limits
2026-09-21 10:45 [PATCH 0/3] nfs-utils: musl upgrade to 3.1.1 and prerequisite systemd fixes Jaipaul Cheernam
@ 2026-09-21 10:45 ` Jaipaul Cheernam
2026-09-21 10:45 ` [PATCH 2/3] systemd: dlopen-deps: only warn for missing required providers Jaipaul Cheernam
` (2 subsequent siblings)
3 siblings, 0 replies; 11+ messages in thread
From: Jaipaul Cheernam @ 2026-09-21 10:45 UTC (permalink / raw)
To: openembedded-core
systemd's src/include/musl/limits.h override sits first on the include path
and relies on '#include_next <limits.h>' to pull in the C library's
definitions. Because <limits.h> is a compiler-provided fixed header (with a
two-pass '#include_next' guarded by _GCC_LIMITS_H_), the override overshoots
musl's <limits.h> and its feature-guarded POSIX limits (PATH_MAX, NAME_MAX,
HOST_NAME_MAX, IOV_MAX, LINE_MAX, PIPE_BUF, PTHREAD_STACK_MIN, SSIZE_MAX, ...)
are never defined, so every musl build (-Dlibc=musl) fails to compile.
Add a patch to the override defining the POSIX limits systemd references with
musl's canonical values, each #ifndef-guarded so glibc is unaffected. Applied
for libc-musl only.
Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/43824]
Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
---
...X-limits-missing-from-limits.h-overr.patch | 92 +++++++++++++++++++
meta/recipes-core/systemd/systemd_261.3.bb | 6 ++
2 files changed, 98 insertions(+)
create mode 100644 meta/recipes-core/systemd/systemd/0001-musl-define-POSIX-limits-missing-from-limits.h-overr.patch
diff --git a/meta/recipes-core/systemd/systemd/0001-musl-define-POSIX-limits-missing-from-limits.h-overr.patch b/meta/recipes-core/systemd/systemd/0001-musl-define-POSIX-limits-missing-from-limits.h-overr.patch
new file mode 100644
index 00000000000..3ebe9885e35
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0001-musl-define-POSIX-limits-missing-from-limits.h-overr.patch
@@ -0,0 +1,92 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
+Date: Mon, 21 Sep 2026 10:24:40 +0000
+Subject: [PATCH] musl: define POSIX limits missing from limits.h override
+
+src/include/musl/limits.h sits first on the include path (-isystem
+src/include/musl) and, like the sibling overrides, relies on
+'#include_next <limits.h>' to pull in the C library's definitions. This
+works for <stdlib.h>, <string.h>, etc., but not for <limits.h>: the compiler
+ships its own <limits.h>, which reaches the C library header via a two-pass
+'#include_next' guarded by _GCC_LIMITS_H_. With this override in the first
+search-path slot, that chain overshoots musl's <limits.h> and never includes
+it, so musl's feature-guarded POSIX limits are missing and every musl build
+(-Dlibc=musl) fails, e.g. 'NAME_MAX'/'PATH_MAX'/'SSIZE_MAX' undeclared.
+
+Reordering the -isystem paths does not help, since <limits.h> is a
+compiler-provided fixed header. Define the POSIX limits systemd references,
+using musl's canonical values from its include/limits.h, each #ifndef-guarded
+so glibc and toolchains that do reach musl's <limits.h> are unaffected.
+
+Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/43824]
+Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
+---
+ src/include/musl/limits.h | 52 +++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 50 insertions(+), 2 deletions(-)
+
+diff --git a/src/include/musl/limits.h b/src/include/musl/limits.h
+index 9620a3b0acc..48fe0c68e89 100644
+--- a/src/include/musl/limits.h
++++ b/src/include/musl/limits.h
+@@ -6,11 +6,59 @@
+ #include <assert.h>
+ #include <sys/types.h>
+
++/* When this override is first on the include search path (-isystem
++ * src/include/musl), '#include_next <limits.h>' reaches the compiler's own
++ * <limits.h>, which uses a two-pass '#include_next' sequence (guarded by
++ * _GCC_LIMITS_H_ via <syslimits.h>) to pull in the C library's <limits.h>.
++ * With this override occupying the first search-path slot, its own
++ * '#include_next' shifts the position the compiler's second-pass
++ * '#include_next' resolves from, so the chain overshoots musl's <limits.h>
++ * and never includes it. The POSIX limits musl defines in its
++ * feature-test-macro guarded section are therefore missing. This differs
++ * from the sibling overrides in this directory (e.g. <stdlib.h>, <string.h>)
++ * because the compiler ships its own <limits.h> but not those; reordering
++ * the -isystem paths does not help.
++ *
++ * Provide the POSIX limits systemd relies on, using musl's canonical values
++ * (see musl's include/limits.h). Each is #ifndef-guarded so glibc, and any
++ * toolchain whose '#include_next' does reach musl's <limits.h>, are
++ * unaffected. */
++#ifndef NAME_MAX
++# define NAME_MAX 255
++#endif
++#ifndef PATH_MAX
++# define PATH_MAX 4096
++#endif
++#ifndef HOST_NAME_MAX
++# define HOST_NAME_MAX 255
++#endif
++#ifndef LINE_MAX
++# define LINE_MAX 4096
++#endif
++#ifndef IOV_MAX
++# define IOV_MAX 1024
++#endif
++#ifndef PIPE_BUF
++# define PIPE_BUF 4096
++#endif
++#ifndef PTHREAD_STACK_MIN
++# define PTHREAD_STACK_MIN 2048
++#endif
++#ifndef _POSIX_PATH_MAX
++# define _POSIX_PATH_MAX 256
++#endif
++#ifndef _POSIX_TZNAME_MAX
++# define _POSIX_TZNAME_MAX 6
++#endif
++
+ /* musl defines SSIZE_MAX as LONG_MAX, so its type is always long. However, on 32-bit architectures, musl
+ * defines ssize_t as int. Strictly speaking, this is not a bug in musl. POSIX only requires SSIZE_MAX to
+ * evaluate to the maximum value representable by ssize_t; it does not require SSIZE_MAX itself to have type
+ * ssize_t. However, our code assumes that SSIZE_MAX has type ssize_t, as is the case with glibc. Cast the
+- * value explicitly so that SSIZE_MAX has type ssize_t. */
++ * value explicitly so that SSIZE_MAX has type ssize_t. The assert is guarded because SSIZE_MAX is only
++ * visible when <limits.h> actually supplied it (see above). */
++#ifdef SSIZE_MAX
+ static_assert(SSIZE_MAX == LONG_MAX, "");
+-#undef SSIZE_MAX
++# undef SSIZE_MAX
++#endif
+ #define SSIZE_MAX ((ssize_t) LONG_MAX)
diff --git a/meta/recipes-core/systemd/systemd_261.3.bb b/meta/recipes-core/systemd/systemd_261.3.bb
index 1a256a598a8..9413bd7f46e 100644
--- a/meta/recipes-core/systemd/systemd_261.3.bb
+++ b/meta/recipes-core/systemd/systemd_261.3.bb
@@ -38,6 +38,12 @@ SRC_URI += "file://touchscreen.rules \
file://0003-Do-not-create-var-log-README.patch \
"
+# systemd's src/include/musl/limits.h override sits first on the include path
+# and relies on '#include_next <limits.h>', but the compiler's own two-pass
+# limits.h consumes that chain so musl's POSIX limits (PATH_MAX, NAME_MAX,
+# HOST_NAME_MAX, SSIZE_MAX, ...) are never defined, breaking every musl build.
+SRC_URI:append:libc-musl = " file://0001-musl-define-POSIX-limits-missing-from-limits.h-overr.patch"
+
PAM_PLUGINS = " \
pam-plugin-unix \
pam-plugin-loginuid \
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 2/3] systemd: dlopen-deps: only warn for missing required providers
2026-09-21 10:45 [PATCH 0/3] nfs-utils: musl upgrade to 3.1.1 and prerequisite systemd fixes Jaipaul Cheernam
2026-09-21 10:45 ` [PATCH 1/3] systemd: fix musl build by providing missing POSIX limits Jaipaul Cheernam
@ 2026-09-21 10:45 ` Jaipaul Cheernam
2026-09-21 10:45 ` [PATCH 3/3] nfs-utils: upgrade 2.9.2 -> 3.1.1 Jaipaul Cheernam
2026-09-21 21:06 ` [PATCH v2 0/3] systemd musl build fixes and nfs-utils upgrade Jaipaul Cheernam
3 siblings, 0 replies; 11+ messages in thread
From: Jaipaul Cheernam @ 2026-09-21 10:45 UTC (permalink / raw)
To: openembedded-core
package_generate_dlopen_deps() warns whenever it cannot find a provider for
a soname listed in a .note.dlopen segment, regardless of the dependency's
priority. "recommended" and "suggested" entries are optional (they map to
RRECOMMENDS) and legitimately have no provider in some configurations - for
example systemd suggests libintl.so.8, which does not exist on musl, where
the gettext symbols live in libc. This produces spurious warnings on every
musl build.
Only warn for "required" dlopen dependencies; downgrade the missing-provider
message for optional ones to a note.
Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
---
meta/recipes-core/systemd/dlopen-deps.inc | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/meta/recipes-core/systemd/dlopen-deps.inc b/meta/recipes-core/systemd/dlopen-deps.inc
index 2d43f2dcb8e..15f811de126 100644
--- a/meta/recipes-core/systemd/dlopen-deps.inc
+++ b/meta/recipes-core/systemd/dlopen-deps.inc
@@ -77,7 +77,17 @@ python package_generate_dlopen_deps() {
found = True
break
if not found:
- bb.warn(f"cannot find any provider for dlopen dependency: {dep['soname']}")
+ # A missing provider only matters for "required" dlopen
+ # dependencies. "recommended"/"suggested" ones are optional
+ # (they map to RRECOMMENDS) and legitimately have no provider
+ # on some configurations - e.g. systemd suggests libintl.so.8,
+ # which does not exist on musl where the gettext symbols live
+ # in libc. Only warn for required deps; note the rest.
+ msg = f"cannot find any provider for dlopen dependency: {dep['soname']}"
+ if dep["priority"] == "required":
+ bb.warn(msg)
+ else:
+ bb.note(msg)
except oe.qa.NotELFFileError as e:
bb.note(f"Cannot extract ELF notes: {e}")
pass
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 3/3] nfs-utils: upgrade 2.9.2 -> 3.1.1
2026-09-21 10:45 [PATCH 0/3] nfs-utils: musl upgrade to 3.1.1 and prerequisite systemd fixes Jaipaul Cheernam
2026-09-21 10:45 ` [PATCH 1/3] systemd: fix musl build by providing missing POSIX limits Jaipaul Cheernam
2026-09-21 10:45 ` [PATCH 2/3] systemd: dlopen-deps: only warn for missing required providers Jaipaul Cheernam
@ 2026-09-21 10:45 ` Jaipaul Cheernam
2026-09-21 21:06 ` [PATCH v2 0/3] systemd musl build fixes and nfs-utils upgrade Jaipaul Cheernam
3 siblings, 0 replies; 11+ messages in thread
From: Jaipaul Cheernam @ 2026-09-21 10:45 UTC (permalink / raw)
To: openembedded-core
ChangeLog: https://www.kernel.org/pub/linux/utils/nfs-utils/3.1.1/3.1.1-Changelog
Drop two local patches now merged upstream:
- 0001-getport-fix-missing-stddef.h-inclusion.patch
- 0006-configure.ac-gate-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch
(upstream now gates HAVE_NFSD_NETLINK on --enable-nfsdctl)
Refresh the remaining local patches (0004, 0005) against the new source.
Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
---
...tport-fix-missing-stddef.h-inclusion.patch | 27 -----------
.../0004-Use-nogroup-for-nobody-group.patch | 4 +-
.../0005-find-OE-provided-Kerberos.patch | 2 +-
...e-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch | 47 -------------------
...{nfs-utils_2.9.2.bb => nfs-utils_3.1.1.bb} | 4 +-
5 files changed, 4 insertions(+), 80 deletions(-)
delete mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/0001-getport-fix-missing-stddef.h-inclusion.patch
delete mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/0006-configure.ac-gate-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch
rename meta/recipes-connectivity/nfs-utils/{nfs-utils_2.9.2.bb => nfs-utils_3.1.1.bb} (96%)
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-getport-fix-missing-stddef.h-inclusion.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-getport-fix-missing-stddef.h-inclusion.patch
deleted file mode 100644
index 1683e9692b5..00000000000
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-getport-fix-missing-stddef.h-inclusion.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
-Date: Thu, 6 Aug 2026 10:55:00 +0000
-Subject: [PATCH] getport: fix missing stddef.h inclusion
-
-getport.c uses offsetof() but does not include <stddef.h>. On glibc
-this works because offsetof is pulled in transitively, but on musl it
-is not available without the explicit include, causing:
-
- getport.c:459:41: error: implicit declaration of function 'offsetof'
-
-Upstream-Status: Submitted [https://lore.kernel.org/linux-nfs/20260806112023.25090-1-jaipaul.cheernam@est.tech/]
-Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
----
- support/nfs/getport.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/support/nfs/getport.c b/support/nfs/getport.c
---- a/support/nfs/getport.c
-+++ b/support/nfs/getport.c
-@@ -27,6 +27,7 @@
- #include <config.h>
- #endif
-
-+#include <stddef.h>
- #include <sys/types.h>
- #include <sys/time.h>
- #include <unistd.h>
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0004-Use-nogroup-for-nobody-group.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0004-Use-nogroup-for-nobody-group.patch
index 7e63cb62826..1bc3fc832be 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/0004-Use-nogroup-for-nobody-group.patch
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/0004-Use-nogroup-for-nobody-group.patch
@@ -1,4 +1,4 @@
-From 5f4739475f3c01145174734ed8a3b31b3da99b77 Mon Sep 17 00:00:00 2001
+From f8407c33b26641c08ad76422ba2ff78214364b19 Mon Sep 17 00:00:00 2001
From: Daniel McGregor <daniel.mcgregor@vecima.com>
Date: Tue, 6 Jun 2023 16:07:53 -0600
Subject: [PATCH] Use "nogroup" for nobody group
@@ -24,7 +24,7 @@ index 2a2f79a..e6f3724 100644
[Translation]
diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c
-index 5231f56..e1aa8a5 100644
+index c41ae1f..7339a88 100644
--- a/utils/idmapd/idmapd.c
+++ b/utils/idmapd/idmapd.c
@@ -89,7 +89,7 @@
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-find-OE-provided-Kerberos.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-find-OE-provided-Kerberos.patch
index bb152c2754b..e88608bd376 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-find-OE-provided-Kerberos.patch
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-find-OE-provided-Kerberos.patch
@@ -1,4 +1,4 @@
-From a1759d9079a436096be5ce44622a3a5a85ec9faa Mon Sep 17 00:00:00 2001
+From 43a992e7bb491fd6e7e50861c9eaf0c549e98293 Mon Sep 17 00:00:00 2001
From: Daniel McGregor <daniel.mcgregor@vecima.com>
Date: Wed, 8 Nov 2023 16:24:20 -0600
Subject: [PATCH] find OE provided Kerberos
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0006-configure.ac-gate-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0006-configure.ac-gate-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch
deleted file mode 100644
index d15ea1ac5dd..00000000000
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/0006-configure.ac-gate-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
-Date: Wed, 5 Aug 2026 06:55:00 +0000
-Subject: [PATCH] configure.ac: gate HAVE_NFSD_NETLINK on --enable-nfsdctl
-
-HAVE_NFSD_NETLINK is currently defined unconditionally, but the
-implementation of nfsd_nl_cmd_str() in support/nfs/nfsdnl.c is only
-compiled into libnfs when CONFIG_NFSDCTL is true (--enable-nfsdctl).
-
-This causes a link failure when building with --disable-nfsdctl:
-
- ld: exportfs-exportfs.o: in function `unexportfs_parsed':
- exportfs.c:491: undefined reference to `nfsd_nl_cmd_str'
-
-The callers (exportfs.c) guard their usage with #ifdef HAVE_NFSD_NETLINK,
-and nfsdnl.h provides a static inline stub returning -ENOSYS when the
-macro is not defined. So the correct fix is to only define
-HAVE_NFSD_NETLINK when --enable-nfsdctl is in effect, keeping netlink
-support as an opt-in feature consistent with the CONFIG_NFSDCTL guard
-on nfsdnl.c.
-
-Upstream-Status: Submitted [https://lore.kernel.org/linux-nfs/9fec9f1b-1c10-4a20-8282-dfc9addb4ee8@est.tech/T/#u]
-Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
---- a/configure.ac
-+++ b/configure.ac
-@@ -256,8 +256,6 @@
- PKG_CHECK_MODULES(LIBNLGENL3, libnl-genl-3.0 >= 3.1)
-
- AC_CHECK_HEADERS(linux/nfsd_netlink.h)
--AC_DEFINE([HAVE_NFSD_NETLINK], 1,
-- [Define to 1 if nfsd generic netlink support is available])
-
- # ensure the system netlink headers have the latest features
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <linux/nfsd_netlink.h>]],
-@@ -279,6 +277,8 @@
- enable_nfsdctl="yes")
- AM_CONDITIONAL(CONFIG_NFSDCTL, [test "$enable_nfsdctl" = "yes" ])
- if test "$enable_nfsdctl" = yes; then
-+ AC_DEFINE([HAVE_NFSD_NETLINK], 1,
-+ [Define to 1 if nfsd generic netlink support is available])
- PKG_CHECK_MODULES(LIBREADLINE, readline)
- fi
-
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_2.9.2.bb b/meta/recipes-connectivity/nfs-utils/nfs-utils_3.1.1.bb
similarity index 96%
rename from meta/recipes-connectivity/nfs-utils/nfs-utils_2.9.2.bb
rename to meta/recipes-connectivity/nfs-utils/nfs-utils_3.1.1.bb
index c2017a14ef3..89a69ca72c1 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils_2.9.2.bb
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_3.1.1.bb
@@ -23,11 +23,9 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.x
file://nfscommon \
file://0004-Use-nogroup-for-nobody-group.patch \
file://0005-find-OE-provided-Kerberos.patch \
- file://0006-configure.ac-gate-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch \
- file://0001-getport-fix-missing-stddef.h-inclusion.patch \
"
-SRC_URI[sha256sum] = "e1dd8a9c95af15492065942cc3b52b1339ffd586baa2280ed86c9d3dc4097e8c"
+SRC_URI[sha256sum] = "7dbc05eb8b32828b322872b759a62cb3979cb4118f344dd8616813d1390e84e0"
# Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will
# pull in the remainder of the dependencies.
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 0/3] systemd musl build fixes and nfs-utils upgrade
2026-09-21 10:45 [PATCH 0/3] nfs-utils: musl upgrade to 3.1.1 and prerequisite systemd fixes Jaipaul Cheernam
` (2 preceding siblings ...)
2026-09-21 10:45 ` [PATCH 3/3] nfs-utils: upgrade 2.9.2 -> 3.1.1 Jaipaul Cheernam
@ 2026-09-21 21:06 ` Jaipaul Cheernam
2026-09-21 21:06 ` [PATCH v2 1/3] systemd: fix musl build by fixing limits.h override Jaipaul Cheernam
` (2 more replies)
3 siblings, 3 replies; 11+ messages in thread
From: Jaipaul Cheernam @ 2026-09-21 21:06 UTC (permalink / raw)
To: openembedded-core
Two systemd fixes needed for musl builds, plus the nfs-utils 3.1.1 upgrade.
Changes in v2:
- 0001: use the upstream fix from systemd PR #43831 (more accurate).
- 0002: reword the commit message and shorten the inline comment.
- 0003: no change since v1.
Jaipaul Cheernam (3):
systemd: fix musl build by fixing limits.h override
systemd: dlopen-deps: only warn for missing required providers
nfs-utils: upgrade 2.9.2 -> 3.1.1
...tport-fix-missing-stddef.h-inclusion.patch | 27 -----------
.../0004-Use-nogroup-for-nobody-group.patch | 4 +-
.../0005-find-OE-provided-Kerberos.patch | 2 +-
...e-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch | 47 -------------------
...{nfs-utils_2.9.2.bb => nfs-utils_3.1.1.bb} | 4 +-
meta/recipes-core/systemd/dlopen-deps.inc | 8 +++-
.../0001-include-fix-limits.h-override.patch | 47 +++++++++++++++++++
meta/recipes-core/systemd/systemd_261.3.bb | 2 +
8 files changed, 60 insertions(+), 81 deletions(-)
delete mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/0001-getport-fix-missing-stddef.h-inclusion.patch
delete mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/0006-configure.ac-gate-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch
rename meta/recipes-connectivity/nfs-utils/{nfs-utils_2.9.2.bb => nfs-utils_3.1.1.bb} (96%)
create mode 100644 meta/recipes-core/systemd/systemd/0001-include-fix-limits.h-override.patch
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 1/3] systemd: fix musl build by fixing limits.h override
2026-09-21 21:06 ` [PATCH v2 0/3] systemd musl build fixes and nfs-utils upgrade Jaipaul Cheernam
@ 2026-09-21 21:06 ` Jaipaul Cheernam
2026-09-24 10:57 ` [OE-core] " Ross Burton
2026-09-21 21:06 ` [PATCH v2 2/3] systemd: dlopen-deps: only warn for missing required providers Jaipaul Cheernam
2026-09-21 21:06 ` [PATCH v2 3/3] nfs-utils: upgrade 2.9.2 -> 3.1.1 Jaipaul Cheernam
2 siblings, 1 reply; 11+ messages in thread
From: Jaipaul Cheernam @ 2026-09-21 21:06 UTC (permalink / raw)
To: openembedded-core
Backport the upstream fix for the limits.h override, which breaks GCC's
<limits.h> include cycle (notably GCC 16.x) and fails musl builds. musl only.
Upstream fix: https://github.com/systemd/systemd/pull/43831
(cherry picked from commit 4e08fdf59ffcafef6ca2df6342101e7e82b6183b)
Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
---
Changes in v2:
- Use the upstream fix from systemd PR #43831 (more accurate).
.../0001-include-fix-limits.h-override.patch | 47 +++++++++++++++++++
meta/recipes-core/systemd/systemd_261.3.bb | 2 +
2 files changed, 49 insertions(+)
create mode 100644 meta/recipes-core/systemd/systemd/0001-include-fix-limits.h-override.patch
diff --git a/meta/recipes-core/systemd/systemd/0001-include-fix-limits.h-override.patch b/meta/recipes-core/systemd/systemd/0001-include-fix-limits.h-override.patch
new file mode 100644
index 00000000000..6316b3ddf61
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0001-include-fix-limits.h-override.patch
@@ -0,0 +1,47 @@
+From 4e08fdf59ffcafef6ca2df6342101e7e82b6183b Mon Sep 17 00:00:00 2001
+From: Yu Watanabe <watanabe.yu+github@gmail.com>
+Date: Tue, 22 Sep 2026 01:55:01 +0900
+Subject: [PATCH] include: fix limits.h override
+
+This is especially necessary since GCC 16.x.
+
+Replaces #43824.
+
+(cherry picked from commit 4e08fdf59ffcafef6ca2df6342101e7e82b6183b)
+
+Upstream-Status: Backport [https://github.com/systemd/systemd/pull/43831]
+Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
+---
+ src/include/musl/limits.h | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/src/include/musl/limits.h b/src/include/musl/limits.h
+index 9620a3b0acc..cffb8ddd274 100644
+--- a/src/include/musl/limits.h
++++ b/src/include/musl/limits.h
+@@ -1,6 +1,25 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+ #pragma once
+
++/* GCC introduces a spurious, tricky inclusion cycle:
++ * GCC's limits.h
++ * -> GCC's syslimits.h
++ * -> GCC's limits.h (again!!!)
++ * -> glibc/musl's limits.h
++ * -> define POSIX defines
++ * -> define ISO C defines
++ * This works only when GCC's limits.h is included first, but a user override breaks the cycle. Hence, we
++ * need to manually achieve the cycle here. If GCC is not used (e.g., Clang), then including the compiler's
++ * limits.h twice should be redundant but harmless. */
++
++/* First, get the POSIX defines from glibc/musl's limits.h. When the two macros below are defined, GCC's
++ * limits.h includes the next limits.h, that is, one from glibc/musl. */
++#define _GCC_LIMITS_H_
++#define _GCC_NEXT_LIMITS_H
++#include_next <limits.h> /* IWYU pragma: export */
++
++/* Next, get the ISO C defines from GCC's limits.h. */
++#undef _GCC_LIMITS_H_
+ #include_next <limits.h> /* IWYU pragma: export */
+
+ #include <assert.h>
diff --git a/meta/recipes-core/systemd/systemd_261.3.bb b/meta/recipes-core/systemd/systemd_261.3.bb
index 1a256a598a8..175f0a4834f 100644
--- a/meta/recipes-core/systemd/systemd_261.3.bb
+++ b/meta/recipes-core/systemd/systemd_261.3.bb
@@ -38,6 +38,8 @@ SRC_URI += "file://touchscreen.rules \
file://0003-Do-not-create-var-log-README.patch \
"
+SRC_URI:append:libc-musl = " file://0001-include-fix-limits.h-override.patch"
+
PAM_PLUGINS = " \
pam-plugin-unix \
pam-plugin-loginuid \
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 2/3] systemd: dlopen-deps: only warn for missing required providers
2026-09-21 21:06 ` [PATCH v2 0/3] systemd musl build fixes and nfs-utils upgrade Jaipaul Cheernam
2026-09-21 21:06 ` [PATCH v2 1/3] systemd: fix musl build by fixing limits.h override Jaipaul Cheernam
@ 2026-09-21 21:06 ` Jaipaul Cheernam
2026-09-24 10:59 ` [OE-core] " Ross Burton
2026-09-21 21:06 ` [PATCH v2 3/3] nfs-utils: upgrade 2.9.2 -> 3.1.1 Jaipaul Cheernam
2 siblings, 1 reply; 11+ messages in thread
From: Jaipaul Cheernam @ 2026-09-21 21:06 UTC (permalink / raw)
To: openembedded-core
Optional recommended/suggested dlopen deps often have no provider, so musl
builds print warnings like:
WARNING: cannot find any provider for dlopen dependency: libintl.so.8
Only warn for required deps, note the rest.
Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
---
Changes in v2:
- Reword the commit message and shorten the inline comment.
meta/recipes-core/systemd/dlopen-deps.inc | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/meta/recipes-core/systemd/dlopen-deps.inc b/meta/recipes-core/systemd/dlopen-deps.inc
index 2d43f2dcb8e..50ea862df06 100644
--- a/meta/recipes-core/systemd/dlopen-deps.inc
+++ b/meta/recipes-core/systemd/dlopen-deps.inc
@@ -77,7 +77,13 @@ python package_generate_dlopen_deps() {
found = True
break
if not found:
- bb.warn(f"cannot find any provider for dlopen dependency: {dep['soname']}")
+ # Optional (recommended/suggested) dlopen deps may have
+ # no provider on some configs, so only warn for required ones.
+ msg = f"cannot find any provider for dlopen dependency: {dep['soname']}"
+ if dep["priority"] == "required":
+ bb.warn(msg)
+ else:
+ bb.note(msg)
except oe.qa.NotELFFileError as e:
bb.note(f"Cannot extract ELF notes: {e}")
pass
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 3/3] nfs-utils: upgrade 2.9.2 -> 3.1.1
2026-09-21 21:06 ` [PATCH v2 0/3] systemd musl build fixes and nfs-utils upgrade Jaipaul Cheernam
2026-09-21 21:06 ` [PATCH v2 1/3] systemd: fix musl build by fixing limits.h override Jaipaul Cheernam
2026-09-21 21:06 ` [PATCH v2 2/3] systemd: dlopen-deps: only warn for missing required providers Jaipaul Cheernam
@ 2026-09-21 21:06 ` Jaipaul Cheernam
2 siblings, 0 replies; 11+ messages in thread
From: Jaipaul Cheernam @ 2026-09-21 21:06 UTC (permalink / raw)
To: openembedded-core
ChangeLog: https://www.kernel.org/pub/linux/utils/nfs-utils/3.1.1/3.1.1-Changelog
Drop two local patches now merged upstream:
- 0001-getport-fix-missing-stddef.h-inclusion.patch
- 0006-configure.ac-gate-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch
(upstream now gates HAVE_NFSD_NETLINK on --enable-nfsdctl)
Refresh the remaining local patches (0004, 0005) against the new source.
Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
---
Changes in v2:
- No change since v1.
...tport-fix-missing-stddef.h-inclusion.patch | 27 -----------
.../0004-Use-nogroup-for-nobody-group.patch | 4 +-
.../0005-find-OE-provided-Kerberos.patch | 2 +-
...e-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch | 47 -------------------
...{nfs-utils_2.9.2.bb => nfs-utils_3.1.1.bb} | 4 +-
5 files changed, 4 insertions(+), 80 deletions(-)
delete mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/0001-getport-fix-missing-stddef.h-inclusion.patch
delete mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/0006-configure.ac-gate-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch
rename meta/recipes-connectivity/nfs-utils/{nfs-utils_2.9.2.bb => nfs-utils_3.1.1.bb} (96%)
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-getport-fix-missing-stddef.h-inclusion.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-getport-fix-missing-stddef.h-inclusion.patch
deleted file mode 100644
index 1683e9692b5..00000000000
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-getport-fix-missing-stddef.h-inclusion.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
-Date: Thu, 6 Aug 2026 10:55:00 +0000
-Subject: [PATCH] getport: fix missing stddef.h inclusion
-
-getport.c uses offsetof() but does not include <stddef.h>. On glibc
-this works because offsetof is pulled in transitively, but on musl it
-is not available without the explicit include, causing:
-
- getport.c:459:41: error: implicit declaration of function 'offsetof'
-
-Upstream-Status: Submitted [https://lore.kernel.org/linux-nfs/20260806112023.25090-1-jaipaul.cheernam@est.tech/]
-Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
----
- support/nfs/getport.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/support/nfs/getport.c b/support/nfs/getport.c
---- a/support/nfs/getport.c
-+++ b/support/nfs/getport.c
-@@ -27,6 +27,7 @@
- #include <config.h>
- #endif
-
-+#include <stddef.h>
- #include <sys/types.h>
- #include <sys/time.h>
- #include <unistd.h>
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0004-Use-nogroup-for-nobody-group.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0004-Use-nogroup-for-nobody-group.patch
index 7e63cb62826..1bc3fc832be 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/0004-Use-nogroup-for-nobody-group.patch
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/0004-Use-nogroup-for-nobody-group.patch
@@ -1,4 +1,4 @@
-From 5f4739475f3c01145174734ed8a3b31b3da99b77 Mon Sep 17 00:00:00 2001
+From f8407c33b26641c08ad76422ba2ff78214364b19 Mon Sep 17 00:00:00 2001
From: Daniel McGregor <daniel.mcgregor@vecima.com>
Date: Tue, 6 Jun 2023 16:07:53 -0600
Subject: [PATCH] Use "nogroup" for nobody group
@@ -24,7 +24,7 @@ index 2a2f79a..e6f3724 100644
[Translation]
diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c
-index 5231f56..e1aa8a5 100644
+index c41ae1f..7339a88 100644
--- a/utils/idmapd/idmapd.c
+++ b/utils/idmapd/idmapd.c
@@ -89,7 +89,7 @@
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-find-OE-provided-Kerberos.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-find-OE-provided-Kerberos.patch
index bb152c2754b..e88608bd376 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-find-OE-provided-Kerberos.patch
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-find-OE-provided-Kerberos.patch
@@ -1,4 +1,4 @@
-From a1759d9079a436096be5ce44622a3a5a85ec9faa Mon Sep 17 00:00:00 2001
+From 43a992e7bb491fd6e7e50861c9eaf0c549e98293 Mon Sep 17 00:00:00 2001
From: Daniel McGregor <daniel.mcgregor@vecima.com>
Date: Wed, 8 Nov 2023 16:24:20 -0600
Subject: [PATCH] find OE provided Kerberos
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0006-configure.ac-gate-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0006-configure.ac-gate-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch
deleted file mode 100644
index d15ea1ac5dd..00000000000
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/0006-configure.ac-gate-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
-Date: Wed, 5 Aug 2026 06:55:00 +0000
-Subject: [PATCH] configure.ac: gate HAVE_NFSD_NETLINK on --enable-nfsdctl
-
-HAVE_NFSD_NETLINK is currently defined unconditionally, but the
-implementation of nfsd_nl_cmd_str() in support/nfs/nfsdnl.c is only
-compiled into libnfs when CONFIG_NFSDCTL is true (--enable-nfsdctl).
-
-This causes a link failure when building with --disable-nfsdctl:
-
- ld: exportfs-exportfs.o: in function `unexportfs_parsed':
- exportfs.c:491: undefined reference to `nfsd_nl_cmd_str'
-
-The callers (exportfs.c) guard their usage with #ifdef HAVE_NFSD_NETLINK,
-and nfsdnl.h provides a static inline stub returning -ENOSYS when the
-macro is not defined. So the correct fix is to only define
-HAVE_NFSD_NETLINK when --enable-nfsdctl is in effect, keeping netlink
-support as an opt-in feature consistent with the CONFIG_NFSDCTL guard
-on nfsdnl.c.
-
-Upstream-Status: Submitted [https://lore.kernel.org/linux-nfs/9fec9f1b-1c10-4a20-8282-dfc9addb4ee8@est.tech/T/#u]
-Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
---- a/configure.ac
-+++ b/configure.ac
-@@ -256,8 +256,6 @@
- PKG_CHECK_MODULES(LIBNLGENL3, libnl-genl-3.0 >= 3.1)
-
- AC_CHECK_HEADERS(linux/nfsd_netlink.h)
--AC_DEFINE([HAVE_NFSD_NETLINK], 1,
-- [Define to 1 if nfsd generic netlink support is available])
-
- # ensure the system netlink headers have the latest features
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <linux/nfsd_netlink.h>]],
-@@ -279,6 +277,8 @@
- enable_nfsdctl="yes")
- AM_CONDITIONAL(CONFIG_NFSDCTL, [test "$enable_nfsdctl" = "yes" ])
- if test "$enable_nfsdctl" = yes; then
-+ AC_DEFINE([HAVE_NFSD_NETLINK], 1,
-+ [Define to 1 if nfsd generic netlink support is available])
- PKG_CHECK_MODULES(LIBREADLINE, readline)
- fi
-
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_2.9.2.bb b/meta/recipes-connectivity/nfs-utils/nfs-utils_3.1.1.bb
similarity index 96%
rename from meta/recipes-connectivity/nfs-utils/nfs-utils_2.9.2.bb
rename to meta/recipes-connectivity/nfs-utils/nfs-utils_3.1.1.bb
index c2017a14ef3..89a69ca72c1 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils_2.9.2.bb
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_3.1.1.bb
@@ -23,11 +23,9 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.x
file://nfscommon \
file://0004-Use-nogroup-for-nobody-group.patch \
file://0005-find-OE-provided-Kerberos.patch \
- file://0006-configure.ac-gate-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch \
- file://0001-getport-fix-missing-stddef.h-inclusion.patch \
"
-SRC_URI[sha256sum] = "e1dd8a9c95af15492065942cc3b52b1339ffd586baa2280ed86c9d3dc4097e8c"
+SRC_URI[sha256sum] = "7dbc05eb8b32828b322872b759a62cb3979cb4118f344dd8616813d1390e84e0"
# Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will
# pull in the remainder of the dependencies.
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [OE-core] [PATCH v2 1/3] systemd: fix musl build by fixing limits.h override
2026-09-21 21:06 ` [PATCH v2 1/3] systemd: fix musl build by fixing limits.h override Jaipaul Cheernam
@ 2026-09-24 10:57 ` Ross Burton
0 siblings, 0 replies; 11+ messages in thread
From: Ross Burton @ 2026-09-24 10:57 UTC (permalink / raw)
To: jaipaul.cheernam@est.tech; +Cc: openembedded-core@lists.openembedded.org
On 21 Sep 2026, at 22:06, Jaipaul Cheernam via lists.openembedded.org <jaipaul.cheernam=est.tech@lists.openembedded.org> wrote:
>
> Backport the upstream fix for the limits.h override, which breaks GCC's
> <limits.h> include cycle (notably GCC 16.x) and fails musl builds. musl only.
>
> +SRC_URI:append:libc-musl = " file://0001-include-fix-limits.h-override.patch"
Using the musl override like this might seem safer, but this is an upstream fix that can be applied everwhere. Also when upgrading to a version that includes this patch, it’s highly unlikely that the contributor will test the musl case, which will likely then mean the patch fails to apply.
I’ll post a v3 with this changed to expedite it merging, but if you are able to send your own with your authorship then please do!
Ross
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [OE-core] [PATCH v2 2/3] systemd: dlopen-deps: only warn for missing required providers
2026-09-21 21:06 ` [PATCH v2 2/3] systemd: dlopen-deps: only warn for missing required providers Jaipaul Cheernam
@ 2026-09-24 10:59 ` Ross Burton
2026-09-29 14:55 ` Khem Raj
0 siblings, 1 reply; 11+ messages in thread
From: Ross Burton @ 2026-09-24 10:59 UTC (permalink / raw)
To: jaipaul.cheernam@est.tech; +Cc: openembedded-core@lists.openembedded.org
On 21 Sep 2026, at 22:06, Jaipaul Cheernam via lists.openembedded.org <jaipaul.cheernam=est.tech@lists.openembedded.org> wrote:
>
> Optional recommended/suggested dlopen deps often have no provider, so musl
> builds print warnings like:
>
> WARNING: cannot find any provider for dlopen dependency: libintl.so.8
>
> Only warn for required deps, note the rest.
If optional dependencies no longer cause a warning then we’d never know that we should be either explicitly disabling them, or adding build dependencies.
The actual problem here is that systemd dlopen’s libintl, and under musl that doesn’t exist. Luckily, this has been fixed upstream:
https://github.com/systemd/systemd/commit/25714364a981e8e0ca3ac44ff09819a22a46b442
It’s late to backport this for blacksail, but the 262 release includes this change.
Ross
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [OE-core] [PATCH v2 2/3] systemd: dlopen-deps: only warn for missing required providers
2026-09-24 10:59 ` [OE-core] " Ross Burton
@ 2026-09-29 14:55 ` Khem Raj
0 siblings, 0 replies; 11+ messages in thread
From: Khem Raj @ 2026-09-29 14:55 UTC (permalink / raw)
To: ross.burton
Cc: jaipaul.cheernam@est.tech,
openembedded-core@lists.openembedded.org
[-- Attachment #1: Type: text/plain, Size: 1608 bytes --]
On Thu, Sep 24, 2026 at 3:59 AM Ross Burton via lists.openembedded.org
<ross.burton=arm.com@lists.openembedded.org> wrote:
> On 21 Sep 2026, at 22:06, Jaipaul Cheernam via lists.openembedded.org
> <jaipaul.cheernam=est.tech@lists.openembedded.org> wrote:
> >
> > Optional recommended/suggested dlopen deps often have no provider, so
> musl
> > builds print warnings like:
> >
> > WARNING: cannot find any provider for dlopen dependency: libintl.so.8
> >
> > Only warn for required deps, note the rest.
>
> If optional dependencies no longer cause a warning then we’d never know
> that we should be either explicitly disabling them, or adding build
> dependencies.
>
> The actual problem here is that systemd dlopen’s libintl, and under musl
> that doesn’t exist. Luckily, this has been fixed upstream:
>
>
> https://github.com/systemd/systemd/commit/25714364a981e8e0ca3ac44ff09819a22a46b442
>
> It’s late to backport this for blacksail, but the 262 release includes
> this change.
>
I guess you mean its late for first release of blacksail but I assume its
ok to backport it to point releases later.
>
> Ross
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#246579):
> https://lists.openembedded.org/g/openembedded-core/message/246579
> Mute This Topic: https://lists.openembedded.org/mt/121364963/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
[-- Attachment #2: Type: text/html, Size: 2942 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-09-29 14:56 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-21 10:45 [PATCH 0/3] nfs-utils: musl upgrade to 3.1.1 and prerequisite systemd fixes Jaipaul Cheernam
2026-09-21 10:45 ` [PATCH 1/3] systemd: fix musl build by providing missing POSIX limits Jaipaul Cheernam
2026-09-21 10:45 ` [PATCH 2/3] systemd: dlopen-deps: only warn for missing required providers Jaipaul Cheernam
2026-09-21 10:45 ` [PATCH 3/3] nfs-utils: upgrade 2.9.2 -> 3.1.1 Jaipaul Cheernam
2026-09-21 21:06 ` [PATCH v2 0/3] systemd musl build fixes and nfs-utils upgrade Jaipaul Cheernam
2026-09-21 21:06 ` [PATCH v2 1/3] systemd: fix musl build by fixing limits.h override Jaipaul Cheernam
2026-09-24 10:57 ` [OE-core] " Ross Burton
2026-09-21 21:06 ` [PATCH v2 2/3] systemd: dlopen-deps: only warn for missing required providers Jaipaul Cheernam
2026-09-24 10:59 ` [OE-core] " Ross Burton
2026-09-29 14:55 ` Khem Raj
2026-09-21 21:06 ` [PATCH v2 3/3] nfs-utils: upgrade 2.9.2 -> 3.1.1 Jaipaul Cheernam
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox