[Buildroot] [PATCH v2, 1/1] package/diffutils: fix build with uclibc < 1.0.35

Peter Korsgaard peter at korsgaard.com
Thu Dec 2 17:17:41 UTC 2021


>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice at gmail.com> writes:

 > Fix the following build failure with uclibc < 1.0.35 raised since bump
 > to version 3.8 in commit 1f89c80417ad03127650b22c41ec4e30d42c549f:

 > In file included from ./sys/random.h:40,
 >                  from getrandom.c:22:
 > /home/giuliobenetti/autobuild/run/instance-0/output-1/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:27:35: error: unknown type name 'size_t'
 >    27 | extern int getrandom(void *__buf, size_t count, unsigned int flags)
 >       |                                   ^~~~~~
 > /home/giuliobenetti/autobuild/run/instance-0/output-1/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:8:1: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
 >     7 | #include <features.h>
 >   +++ |+#include <stddef.h>
 >     8 |

 > Fixes:
 >  - http://autobuild.buildroot.org/results/adecc3e5def140348dfff30961fe6514c9a8e7b5

 > Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
 > ---
 > Changes v1 -> v2:
 >  - Use upstream patch

 >  ..._random-port-better-to-uClibc-1-0-35.patch | 39 +++++++++++++++++++
 >  1 file changed, 39 insertions(+)
 >  create mode 100644 package/diffutils/0003-sys_random-port-better-to-uClibc-1-0-35.patch

 > diff --git a/package/diffutils/0003-sys_random-port-better-to-uClibc-1-0-35.patch b/package/diffutils/0003-sys_random-port-better-to-uClibc-1-0-35.patch
 > new file mode 100644
 > index 0000000000..f9dd12f8e6
 > --- /dev/null
 > +++ b/package/diffutils/0003-sys_random-port-better-to-uClibc-1-0-35.patch
 > @@ -0,0 +1,39 @@
 > +From 135414a7f543e4d40ad0a7cbd51885e159a6e0f4 Mon Sep 17 00:00:00 2001
 > +From: Paul Eggert <eggert at cs.ucla.edu>
 > +Date: Tue, 30 Nov 2021 17:50:01 -0800
 > +Subject: sys_random: port better to uClibc < 1.0.35
 > +
 > +Problem reported by Fabrice Fontaine in:
 > +https://lists.gnu.org/r/bug-gnulib/2021-11/msg00043.html
 > +* lib/sys_random.in.h [HAVE_SYS_RANDOM_H && !__GLIBC__ && __UCLIBC__]:
 > +Include <stddef.h>, in case this file is included before
 > +__UCLIBC__ is defined.
 > +
 > +[Retrieved (and backported to remove ChangeLog update) from:
 > +https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=135414a7f543e4d40ad0a7cbd51885e159a6e0f4]
 > +Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
 > +---
 > + ChangeLog           | 9 +++++++++
 > + lib/sys_random.in.h | 6 ++++--
 > + 2 files changed, 13 insertions(+), 2 deletions(-)
 > +
 > +diff --git a/lib/sys_random.in.h b/lib/sys_random.in.h
 > +index 1abd6c544..8b4b934a1 100644
 > +--- a/lib/sys_random.in.h
 > ++++ b/lib/sys_random.in.h
 > +@@ -23,8 +23,10 @@
 > + 
 > + #if @HAVE_SYS_RANDOM_H@
 > + 
 > +-/* On uClibc, <sys/random.h> assumes prior inclusion of <stddef.h>.  */
 > +-# if defined __UCLIBC__
 > ++/* On uClibc < 1.0.35, <sys/random.h> assumes prior inclusion of <stddef.h>.
 > ++   Do not use __UCLIBC__ here, as it might not be defined yet.
 > ++   But avoid namespace pollution on glibc systems.  */
 > ++# ifndef __GLIBC__
 > + #  include <stddef.h>

Are you sure that works? uClibc-ng defines __GLIBC__.

-- 
Bye, Peter Korsgaard



More information about the buildroot mailing list