package/mbpfan: fix build on musl / uclibc-ng

Fixes https://autobuild.buildroot.net/results/9526503fe8e756bd4444f1fb1e9cf1391c461901/

mbpfan uses vsyslog(), which is not in POSIX so only exposed by <syslog.h>
on musl and uclibc-ng if we define _DEFAULT_SOURCE:

https://git.musl-libc.org/cgit/musl/tree/include/syslog.h#n64
https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/tree/include/sys/syslog.h#n200

Add a patch submitted upstream to do this.

[Peter: add patch rather than passing _DEFAULT_SOURCE in mbpfan.mk]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Peter Korsgaard
2025-08-29 18:52:38 +02:00
parent 17259a2235
commit 759a08633e

View File

@@ -0,0 +1,62 @@
From 924e38f159e4f5906f88cd8ddbe27f273c601cb0 Mon Sep 17 00:00:00 2001
From: Peter Korsgaard <peter@korsgaard.com>
Date: Mon, 1 Sep 2025 12:08:53 +0200
Subject: [PATCH] {Makefile,util.c}: fix build on musl / uClibc-ng
vsyslog() is not in POSIX, so only exposed by <syslog.h> on musl and
uclibc-ng if we define _DEFAULT_SOURCE.
https://git.musl-libc.org/cgit/musl/tree/include/syslog.h#n64
https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/tree/include/sys/syslog.h#n200
While we are at it, drop the glibc-implementation-specific __USE_MISC define
in src/util.c to get rid of a double definition:
src/util.c:3: warning: "__USE_MISC" redefined
3 | #define __USE_MISC
|
In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
from /usr/include/stdio.h:27,
from src/util.c:2:
/usr/include/features.h:395: note: this is the location of the previous definition
395 | # define __USE_MISC 1
On glibc (and uClibc-ng) the internal __USE_MISC symbol gets defined if
_DEFAULT_SOURCE is:
https://github.com/bminor/glibc/blob/master/include/features.h#L417-L419
Upstream: https://github.com/linux-on-mac/mbpfan/pull/271
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
Makefile | 2 +-
src/util.c | 1 -
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index 94d72ee..ff1b7e6 100644
--- a/Makefile
+++ b/Makefile
@@ -19,7 +19,7 @@ BINFLAG = -o
INCLUDES =
LIBS = -lm
LIBPATH =
-CFLAGS += $(COPT) -g $(INCLUDES) -Wall -Wextra -Wno-unused-function -Wno-unused-parameter -std=c99 -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=500
+CFLAGS += $(COPT) -g $(INCLUDES) -Wall -Wextra -Wno-unused-function -Wno-unused-parameter -std=c99 -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=500 -D_DEFAULT_SOURCE
LDFLAGS += $(LIBPATH) -g
OBJS := $(patsubst %.$(C),%.$(OBJ),$(wildcard $(SOURCE_PATH)*.$(C)))
diff --git a/src/util.c b/src/util.c
index df5b03f..25415b9 100644
--- a/src/util.c
+++ b/src/util.c
@@ -1,6 +1,5 @@
#include <stdarg.h>
#include <stdio.h>
-#define __USE_MISC
#define _GNU_SOURCE
#include <syslog.h>
--
2.39.5