On 8/12/2020 2:26 AM, Ilya Maximets wrote:
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.maxim...@ovn.org>
---

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


Hi Ilya,

I'm working on adding support up to kernel version 5.8 and had to fix
this up myself.


  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])])
+                  ])

Seems complex...  why not this?

diff --git a/acinclude.m4 b/acinclude.m4
index e9e15f8b5..30ef2068e 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -817,6 +817,10 @@ AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [
                   [prandom_u32[[\(]]],
                   [OVS_DEFINE([HAVE_PRANDOM_U32])])
   OVS_GREP_IFELSE([$KSRC/include/linux/random.h], [prandom_u32_max])
+  OVS_GREP_IFELSE([$KSRC/include/linux/prandom.h],
+                  [prandom_u32[[\(]]],
+                  [OVS_DEFINE([HAVE_PRANDOM_U32])])
+  OVS_GREP_IFELSE([$KSRC/include/linux/prandom.h], [prandom_u32_max])

Thanks,

- Greg


    OVS_GREP_IFELSE([$KSRC/include/net/rtnetlink.h], [get_link_net])
    OVS_GREP_IFELSE([$KSRC/include/net/rtnetlink.h], [name_assign_type])

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to