sysklogd: fix compile error (#18133)
sysklogd was failing to build because it didn't know the size of the
`union wait` type.
Running `git bisect` showed 9744c7768d
,
which bumped glibc from 2.23 to 2.24, as the likely suspect. This is
corroborated by evidence such as this email:
https://lists.debian.org/debian-glibc/2016/08/msg00069.html
Linux from scratch recommends changing `union wait` to `int`:
http://www.linuxfromscratch.org/lfs/view/development/chapter06/sysklogd.html
Therefore, that's what this commit does.
This commit is contained in:
parent
986e64280e
commit
66726acfae
@ -8,7 +8,7 @@ stdenv.mkDerivation {
|
||||
sha256 = "00f2wy6f0qng7qzga4iicyzl9j8b7mp6mrpfky5jxj93ms2w2rji";
|
||||
};
|
||||
|
||||
patches = [ ./systemd.patch ];
|
||||
patches = [ ./systemd.patch ./union-wait.patch ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-DSYSV";
|
||||
|
||||
|
11
pkgs/os-specific/linux/sysklogd/union-wait.patch
Normal file
11
pkgs/os-specific/linux/sysklogd/union-wait.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- sysklogd-1.5-old/syslogd.c 2016-08-30 22:50:59.812926945 +0100
|
||||
+++ sysklogd-1.5/syslogd.c 2016-08-30 22:51:12.008842890 +0100
|
||||
@@ -2094,7 +2094,7 @@
|
||||
(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)
|
||||
;
|
Loading…
Reference in New Issue
Block a user