[ovs-discuss] Issue:OVS-2.5.3 build failed on RHEL-7.3

Greg Rose gvrose8192 at gmail.com
Fri Sep 8 00:15:10 UTC 2017


On 09/05/2017 10:47 PM, Neeraj Mehta wrote:
> Hello Team,
> 
> I just got the compilation problem while building OVS-2.5.3 on RHEL-7.3 with kernel version 3.10.0-514.el7.x86_64 #1 SMP Wed Oct 19 
> 11:24:13 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux
> 
> Below is the error:
> make -C /lib/modules/3.10.0-514.el7.x86_64/build M=/home/neeraj/Downloads/openvswitch-2.5.3/datapath/linuxmodules
> 
> make[4]: Entering directory `/usr/src/kernels/3.10.0-514.el7.x86_64'
> 
>    CC [M]  /home/neeraj/Downloads/openvswitch-2.5.3/datapath/linux/actions.o
> 
> In file included from include/net/inet_sock.h:24:0,
> 
>                   from include/net/ip.h:30,
> 
>                   from /home/neeraj/Downloads/openvswitch-2.5.3/datapath/linux/compat/include/net/ip.h:4,
> 
>                   from /home/neeraj/Downloads/openvswitch-2.5.3/datapath/linux/compat/include/linux/netfilter_ipv6.h:7,
> 
>                   from /home/neeraj/Downloads/openvswitch-2.5.3/datapath/linux/actions.c:25:
> 
> /home/neeraj/Downloads/openvswitch-2.5.3/datapath/linux/compat/include/linux/netdevice.h:162:34: error: conflicting types for 
> ânetdev_notifier_info_to_devâ
> 
> static inline struct net_device *netdev_notifier_info_to_dev(void *info)
> 
>                                    ^
> 
> In file included from /home/neeraj/Downloads/openvswitch-2.5.3/datapath/linux/compat/include/linux/netdevice.h:4:0,
> 
>                   from include/net/inet_sock.h:24,
> 
>                   from include/net/ip.h:30,
> 
>                   from /home/neeraj/Downloads/openvswitch-2.5.3/datapath/linux/compat/include/net/ip.h:4,
> 
>                   from /home/neeraj/Downloads/openvswitch-2.5.3/datapath/linux/compat/include/linux/netfilter_ipv6.h:7,
> 
>                   from /home/neeraj/Downloads/openvswitch-2.5.3/datapath/linux/actions.c:25:
> 
> include/linux/netdevice.h:2248:1: note: previous definition of ânetdev_notifier_info_to_devâ was here
> 
> netdev_notifier_info_to_dev(const struct netdev_notifier_info *info)
> 
> ^
> 
> In file included from /home/neeraj/Downloads/openvswitch-2.5.3/datapath/linux/../flow.h:36:0,
> 
>                   from /home/neeraj/Downloads/openvswitch-2.5.3/datapath/linux/../datapath.h:32,
> 
>                   from /home/neeraj/Downloads/openvswitch-2.5.3/datapath/linux/actions.c:41:
> 
> /home/neeraj/Downloads/openvswitch-2.5.3/datapath/linux/compat/include/net/dst_metadata.h: In function âovs_ip_tun_rx_dstâ:
> 
> /home/neeraj/Downloads/openvswitch-2.5.3/datapath/linux/compat/include/net/dst_metadata.h:38:7: error: too few arguments to function 
> âip_tunnel_key_initâ
> 
>         0, 0, tunnel_id, flags);
> 
>         ^
> 
> In file included from /home/neeraj/Downloads/openvswitch-2.5.3/datapath/linux/compat/include/net/ip_tunnels.h:10:0,
> 
>                   from /home/neeraj/Downloads/openvswitch-2.5.3/datapath/linux/../datapath.h:29,
> 
>                   from /home/neeraj/Downloads/openvswitch-2.5.3/datapath/linux/actions.c:41:
> 
> include/net/ip_tunnels.h:194:20: note: declared here
> 
> static inline void ip_tunnel_key_init(struct ip_tunnel_key *key,
> 
>                      ^
> 
> make[5]: *** [/home/neeraj/Downloads/openvswitch-2.5.3/datapath/linux/actions.o] Error 1
> 
> make[4]: *** [_module_/home/neeraj/Downloads/openvswitch-2.5.3/datapath/linux] Error 2
> 
> make[4]: Leaving directory `/usr/src/kernels/3.10.0-514.el7.x86_64'
> 
> make[3]: *** [default] Error 2
> 
> make[3]: Leaving directory `/home/neeraj/Downloads/openvswitch-2.5.3/datapath/linux'
> 
> make[2]: *** [all-recursive] Error 1
> 
> make[2]: Leaving directory `/home/neeraj/Downloads/openvswitch-2.5.3/datapath'
> 
> make[1]: *** [all-recursive] Error 1
> 
> make[1]: Leaving directory `/home/neeraj/Downloads/openvswitch-2.5.3'
> 
> make: *** [all] Error 2
> 
> 
> =============================================================================
> Same is the issue with OVS-2.6.0. Whereas I am able to compile the OVS versions above 2.6.0.
> 
> Please help me out.
> 
> Regards
> Neeraj
> 
> 
> _______________________________________________
> discuss mailing list
> discuss at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
> 

As mentioned in the FAQ	Red Hat regularly backports upstream bug fixes and security enhancements to their
distribution kernels.  In this case a security enhancement to 'constify' parameters that are not supposed
to be changed has broken the compatibility code in OVS 2.5.3.  I presume the change in the number of
parameters for ip_tunnel_key_init() is due to some other enhancement, bug fix or security fix.

In any case you'll need to upgrade your version of OVS to one that will build with that kernel.  OVS does
not generally add support for new kernels in maintenance releases.  You'll need to find the right OVS
version that compiles for that kernel.

Thanks,

- Greg


More information about the discuss mailing list