mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-10 08:14:09 -09:00
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:
@@ -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
|
||||||
|
|
||||||
Reference in New Issue
Block a user