I'm not sure what the usual workaround for this type of issue is, but I can think of a couple of options:-
- Modify datapath/linux/compat/include/net/sctp/checksum.h to change the kernel version check. - Alternatively, delete the file, so the kernel version of the header is used instead. On 3 January 2014 14:11, Ashok Byahatti <ashok.byaha...@embrane.com> wrote: > I see - it is being backported by kernel and also defined again by OVS. What > do you recommend to fix this issue in case of my kernel version > 3.10.0-54.0.1.el7.x86_64 on Red hat beta 7 where the function > Is backported. > > Thanks, > Ashok > > -----Original Message----- > From: Joe Stringer [mailto:joestrin...@nicira.com] > Sent: Friday, January 03, 2014 1:04 PM > To: Ashok Byahatti > Cc: Jesse Gross; b...@openvswitch.org > Subject: Re: [ovs-discuss] Error - build kernel module > (openvswitch-2.0.0.tar.gz) on RHEL 7 Beta > > It looks like this function was backported to your kernel version, which is > why you see the conflict. The OVS compatibility header checks for linux 3.12, > and defines the function if you're running any earlier version. > > On 3 January 2014 11:42, Ashok Byahatti <ashok.byaha...@embrane.com> wrote: >> Hi Jesse, >> >> I tried to build the kernel rpm using the master version(and generating tar >> openvswitch-2.1.90.tar.gz). >> But I still get one error - >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/compat/include/net/sctp/checksum.h:8:22: >> error: redefinition of 'sctp_compute_cksum' >> static inline __le32 sctp_compute_cksum(const struct sk_buff *skb. >> >> I am pasting the snippet of the log below - >> >> ln -s >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../ >> linux/compat/flex_array.c ln -s >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../ >> linux/compat/flow_dissector.c ln -s >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../ >> linux/compat/gre.c ln -s >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../ >> linux/compat/gso.c ln -s >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../ >> linux/compat/genetlink-openvswitch.c >> ln -s >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../ >> linux/compat/hash.c ln -s >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../ >> linux/compat/hash-x86.c ln -s >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../ >> linux/compat/ip_tunnels_core.c ln -s >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../ >> linux/compat/netdevice.c ln -s >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../ >> linux/compat/net_namespace.c ln -s >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../ >> linux/compat/reciprocal_div.c ln -s >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../ >> linux/compat/skbuff-openvswitch.c ln -s >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../ >> linux/compat/vxlan.c ln -s >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../ >> linux/compat/utils.c /usr/bin/make -C >> /usr/src/kernels/3.10.0-54.0.1.el7.x86_64 >> M=/root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux >> modules >> make[1]: Entering directory `/usr/src/kernels/3.10.0-54.0.1.el7.x86_64' >> CC [M] >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/actions.o >> CC [M] >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/datapath.o >> CC [M] >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/dp_notify.o >> CC [M] >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/flow.o >> CC [M] >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/flow_netlink.o >> CC [M] >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/flow_table.o >> CC [M] >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/vport.o >> CC [M] >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/vport-gre.o >> CC [M] >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/vport-internal_dev.o >> CC [M] >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/vport-lisp.o >> CC [M] >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/vport-netdev.o >> CC [M] >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/vport-vxlan.o >> CC [M] >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/dev-openvswitch.o >> CC [M] >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/exthdrs_core.o >> CC [M] >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/flex_array.o >> CC [M] >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/flow_dissector.o >> CC [M] >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/gre.o >> CC [M] >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/gso.o >> In file included from >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/actions.c:35:0: >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/compat/include/net/sctp/checksum.h:8:22: >> error: redefinition of 'sctp_compute_cksum' >> static inline __le32 sctp_compute_cksum(const struct sk_buff *skb, >> ^ >> In file included from >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/compat/include/net/sctp/checksum.h:5:0, >> from >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/actions.c:35: >> include/net/sctp/checksum.h:89:22: note: previous definition of >> 'sctp_compute_cksum' was here static inline __le32 sctp_compute_cksum(const >> struct sk_buff *skb, >> ^ >> CC [M] >> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/genetl >> ink-openvswitch.o >> make[2]: *** >> [/root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/actio >> ns.o] Error 1 >> make[2]: *** Waiting for unfinished jobs.... >> make[1]: *** >> [_module_/root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/lin >> ux] Error 2 >> make[1]: Leaving directory `/usr/src/kernels/3.10.0-54.0.1.el7.x86_64' >> make: *** [default] Error 2 >> make: Leaving directory >> `/root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux' >> error: Bad exit status from /var/tmp/rpm-tmp.E3vySV (%build) >> >> Thanks, >> Ashok >> >> -----Original Message----- >> From: Jesse Gross [mailto:je...@nicira.com] >> Sent: Thursday, January 02, 2014 10:43 AM >> To: Ashok Byahatti >> Cc: b...@openvswitch.org >> Subject: Re: [ovs-discuss] Error - build kernel module >> (openvswitch-2.0.0.tar.gz) on RHEL 7 Beta >> >> On Mon, Dec 30, 2013 at 1:46 PM, Ashok Byahatti <ashok.byaha...@embrane.com> >> wrote: >>> I was trying to build the Open vSwitch kernel module(using >>> openvswitch-2.0.0.tar.gz) on RHEL 7 Beta . >>> >>> My kernel version is 3.10.0-54.0.1.el7.x86_64 . >> >> I would recommend using master or the version of the OVS kernel module >> packaged with the distribution. I am not really eager to backport the >> necessary changes to OVS 2.0, particularly for a beta release. >> _______________________________________________ >> discuss mailing list >> discuss@openvswitch.org >> http://openvswitch.org/mailman/listinfo/discuss _______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss