sysklogd: add patch to fix build with glibc 2.24
PATCH 1/1 sysklogd: add patch to fix build with glibc 2.24
Building sysklogd with glibc 2.24 fails with the following error:
syslogd.c: In function ?reapchild?:
syslogd.c:2097:13: error: storage size of ?status? isn?t known
union wait status;
^Makefile:99: recipe for target 'syslogd.o' failed
make[2]: *** [syslogd.o] Error 1
make[2]: *** Waiting for unfinished jobs....package/pkg-generic.mk:201: recipe for target './buildroot/output/build/sysklogd-1.5.1/.stamp_built' failed make[1]: *** [./buildroot/output/build/sysklogd-1.5.1/.stamp_built] Error 2
Makefile:41: recipe for target '_all' failed
make: *** [_all] Error 2
union wait was marked deprecated in glibc 2.23 and removed in glibc 2.24. The fix is to declare it as an int.
See https://sourceware.org/ml/libc-alpha/2016-02/msg00342.html
Sent upstream via their mailing list
--- ...01-replace-deprecated-union-wait-with-int.patch | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 package/sysklogd/0001-replace-deprecated-union-wait-with-int.patch
package/sysklogd/0001-replace-deprecated-union-wait-with-int.patch new file +25 -0
@@ -0,0 +1,25 @@ +From 86fe87cdf097e6286e76eadcc9c11c79be6258f2 Mon Sep 17 00:00:00 2001 +From: Ryan Coe <[email protected]> +Date: Fri, 7 Oct 2016 19:42:40 -0700 +Subject: [PATCH 1/1] replace deprecated union wait with int + +Signed-off-by: Ryan Coe <[email protected]> +--- + syslogd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/syslogd.c b/syslogd.c +index ea73ea5da5e935bb8cab328559f950cd3afc2d20..ace96c8be40f50d123120c0586a384a298212245 100644 +--- a/syslogd.c ++++ b/syslogd.c +@@ -2094,7 +2094,7 @@ void reapchild() + (void) signal(SIGCHLD, reapchild); /* reset signal handler -ASP */ + wait ((int *)0); + #else +- union wait status; ++ int status; + + while (wait3(&status, WNOHANG, (struct rusage *) NULL) > 0) + ; +-- +2.9.3
Signature · 1 line
2.9.3
Thomas Petazzoni
AppliedPATCH 1/1 sysklogd: add patch to fix build with glibc 2.24
Hello,
Quoted 19 lines · Ryan Coe
Building sysklogd with glibc 2.24 fails with the following error:
syslogd.c: In function ?reapchild?:
syslogd.c:2097:13: error: storage size of ?status? isn?t knownunion wait status; ^Makefile:99: recipe for target 'syslogd.o' failed
make[2]: *** [syslogd.o] Error 1
make[2]: *** Waiting for unfinished jobs....package/pkg-generic.mk:201: recipe for target './buildroot/output/build/sysklogd-1.5.1/.stamp_built' failed make[1]: *** [./buildroot/output/build/sysklogd-1.5.1/.stamp_built] Error 2
Makefile:41: recipe for target '_all' failed
make: *** [_all] Error 2union wait was marked deprecated in glibc 2.23 and removed in glibc 2.24. The fix is to declare it as an int.
See https://sourceware.org/ml/libc-alpha/2016-02/msg00342.html
Quoted 7 lines
Sent upstream via their mailing list
Signed-off-by Ryan Coe <[email protected]>--- ...01-replace-deprecated-union-wait-with-int.patch | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 package/sysklogd/0001-replace-deprecated-union-wait-with-int.patch
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com