[ovs-dev] [PATCH] acinclude: Fix build with kernels with prandom* moved to prandom.h.

Ilya Maximets i.maximets at ovn.org
Wed Aug 12 09:26:37 UTC 2020


Recent commit c0842fbc1b18 ("random32: move the pseudo-random 32-bit
definitions to prandom.h") in upstream kernel moved the definition
of prandom_* functions from random.h to prandom.h.  This change was
also backported to stable kernels.

Fixing our configure script to look for these functions in a new
location and avoid build failures:

  datapath/linux/compat/include/linux/random.h:11:19:
    error: redefinition of 'prandom_u32_max'

Signed-off-by: Ilya Maximets <i.maximets at ovn.org>
---

This goes down to all branches that claims support for 4.14 and higer.

 acinclude.m4 | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/acinclude.m4 b/acinclude.m4
index 4bac9dbdd..31565ee5e 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -815,8 +815,19 @@ AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [
 
   OVS_GREP_IFELSE([$KSRC/include/linux/random.h],
                   [prandom_u32[[\(]]],
-                  [OVS_DEFINE([HAVE_PRANDOM_U32])])
-  OVS_GREP_IFELSE([$KSRC/include/linux/random.h], [prandom_u32_max])
+                  [OVS_DEFINE([HAVE_PRANDOM_U32])],
+                  [
+                    OVS_GREP_IFELSE([$KSRC/include/linux/prandom.h],
+                                    [prandom_u32[[\(]]],
+                                    [OVS_DEFINE([HAVE_PRANDOM_U32])])
+                  ])
+  OVS_GREP_IFELSE([$KSRC/include/linux/random.h], [prandom_u32_max],
+                  [OVS_DEFINE([HAVE_PRANDOM_U32_MAX])],
+                  [
+                    OVS_GREP_IFELSE([$KSRC/include/linux/prandom.h],
+                                    [prandom_u32_max],
+                                    [OVS_DEFINE([HAVE_PRANDOM_U32_MAX])])
+                  ])
 
   OVS_GREP_IFELSE([$KSRC/include/net/rtnetlink.h], [get_link_net])
   OVS_GREP_IFELSE([$KSRC/include/net/rtnetlink.h], [name_assign_type])
-- 
2.25.4



More information about the dev mailing list