On 8/12/20 5:25 PM, Gregory Rose wrote:
> 
> 
> 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])

Hmm.  Yes, this looks better.  And it will work since we will likely
not have definitions in both files.

I'll send v2.

> 
> 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