Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

net/openvswitch: build fails without ipv6 #11665

Closed
pandasauce opened this issue Mar 25, 2020 · 5 comments
Closed

net/openvswitch: build fails without ipv6 #11665

pandasauce opened this issue Mar 25, 2020 · 5 comments
Assignees

Comments

@pandasauce
Copy link

Maintainer: @yousong
Environment: ipq806x / Netgear R7800 / v19.07.2

Description:

Building v19.07.2 with Enable IPv6 support in packages unticked fails and results in the following errors related to IPv6 in net/openvswitch. Normal build succeeds. Looks like this package may have some hardcoded dependencies on IPv6 or the config option is not being checked for in some spots?

make[3]: Entering directory '/sources/feeds/packages/net/openvswitch'
rm -f /sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/.built
touch /sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/.built_check
cat /dev/null > /sources/staging_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/pkginfo/openvswitch.symvers; for subdir in .; do cat /sources/staging_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/pkginfo/*.symvers 2>/dev/null > /sources/b
uild_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/$subdir/Module.symvers; done
CFLAGS="-Os -pipe -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=hard -iremap/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch
-2.11.1:openvswitch-2.11.1 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -flto -std=gnu99  -I/sources/staging_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/usr/include -I/sources/staging_di
r/target-arm_cortex-a15+neon-vfpv4_musl_eabi/include -I/sources/staging_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-7.5.0_musl_eabi/usr/include -I/sources/staging_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-7.5.0_musl_eabi/include/fortify
-I/sources/staging_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-7.5.0_musl_eabi/include " CXXFLAGS="-Os -pipe -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=hard -iremap/sou
rces/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1:openvswitch-2.11.1 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -flto -std=gnu99  -I/sourc
es/staging_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/usr/include -I/sources/staging_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/include -I/sources/staging_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-7.5.0_musl_eabi/usr/include -I/s
ources/staging_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-7.5.0_musl_eabi/include/fortify -I/sources/staging_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-7.5.0_musl_eabi/include " LDFLAGS="-L/sources/staging_dir/target-arm_cortex-a15+neon-
vfpv4_musl_eabi/usr/lib -L/sources/staging_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/lib -L/sources/staging_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-7.5.0_musl_eabi/usr/lib -L/sources/staging_dir/toolchain-arm_cortex-a15+neon-vfpv4
_gcc-7.5.0_musl_eabi/lib -znow -zrelro " PYTHONPATH="/sources/staging_dir/hostpkg/lib/python3.7:/sources/staging_dir/hostpkg/lib/python3.7/site-packages" make  -C /sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_
generic/openvswitch-2.11.1/. AR="arm-openwrt-linux-muslgnueabi-gcc-ar" AS="arm-openwrt-linux-muslgnueabi-gcc -c -Os -pipe -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=har
d -iremap/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1:openvswitch-2.11.1 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -flto -std=gn
u99" LD=arm-openwrt-linux-muslgnueabi-ld NM="arm-openwrt-linux-muslgnueabi-gcc-nm" CC="arm-openwrt-linux-muslgnueabi-gcc" GCC="arm-openwrt-linux-muslgnueabi-gcc" CXX="arm-openwrt-linux-muslgnueabi-g++" RANLIB="arm-openwrt-linux-muslgnueabi
-gcc-ranlib" STRIP=arm-openwrt-linux-muslgnueabi-strip OBJCOPY=arm-openwrt-linux-muslgnueabi-objcopy OBJDUMP=arm-openwrt-linux-muslgnueabi-objdump SIZE=arm-openwrt-linux-muslgnueabi-size CROSS="arm-openwrt-linux-muslgnueabi-" ARCH="arm" ;
make[4]: Entering directory '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1'
make  all-recursive
make[5]: Entering directory '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1'
Making all in datapath
make[6]: Entering directory '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath'
Making all in linux
make[7]: Entering directory '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux'
make -C /sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-4.14.171 ARCH=arm M=/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux mod
ules
make[8]: Entering directory '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-4.14.171'
  CC [M]  /sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.o
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1676:15: error: variable 'ip6gre_protocol' has initializer but incomplete type
 static struct inet6_protocol ip6gre_protocol __read_mostly = {
               ^~~~~~~~~~~~~~
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1677:3: error: 'struct inet6_protocol' has no member named 'handler'
  .handler     = gre_rcv,
   ^~~~~~~
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1677:17: warning: excess elements in struct initializer
  .handler     = gre_rcv,
                 ^~~~~~~
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1677:17: note: (near initialization for 'ip6gre_protocol')
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1678:3: error: 'struct inet6_protocol' has no member named 'err_handler'
  .err_handler = ip6gre_err,
   ^~~~~~~~~~~
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1678:17: warning: excess elements in struct initializer
  .err_handler = ip6gre_err,
                 ^~~~~~~~~~
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1678:17: note: (near initialization for 'ip6gre_protocol')
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1679:3: error: 'struct inet6_protocol' has no member named 'flags'
  .flags       = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL,
   ^~~~~
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1679:17: error: 'INET6_PROTO_NOPOLICY' undeclared here (not in a function); did you mean 'NET_IPV4_CONF_NOPOLIC
Y'?
  .flags       = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL,
                 ^~~~~~~~~~~~~~~~~~~~
                 NET_IPV4_CONF_NOPOLICY
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1679:38: error: 'INET6_PROTO_FINAL' undeclared here (not in a function); did you mean 'INET6_PROTO_NOPOLICY'?
  .flags       = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL,
                                      ^~~~~~~~~~~~~~~~~
                                      INET6_PROTO_NOPOLICY
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1679:17: warning: excess elements in struct initializer
  .flags       = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL,
                 ^~~~~~~~~~~~~~~~~~~~
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1679:17: note: (near initialization for 'ip6gre_protocol')
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c: In function 'rpl_ip6gre_init':
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:2805:8: error: implicit declaration of function 'inet6_add_protocol'; did you mean 'inet_add_protocol'? [-Werro
r=implicit-function-declaration]
  err = inet6_add_protocol(&ip6gre_protocol, IPPROTO_GRE);
        ^~~~~~~~~~~~~~~~~~
        inet_add_protocol
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c: In function 'rpl_ip6gre_fini':
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:2849:3: error: implicit declaration of function 'inet6_del_protocol'; did you mean 'inet_del_protocol'? [-Werro
r=implicit-function-declaration]
   inet6_del_protocol(&ip6gre_protocol, IPPROTO_GRE);
   ^~~~~~~~~~~~~~~~~~
   inet_del_protocol
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c: At top level:
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1676:30: error: storage size of 'ip6gre_protocol' isn't known
 static struct inet6_protocol ip6gre_protocol __read_mostly = {
                              ^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
scripts/Makefile.build:326: recipe for target '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.o' failed
make[9]: *** [/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.o] Error 1
Makefile:1542: recipe for target '_module_/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux' failed
make[8]: *** [_module_/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux] Error 2
make[8]: Leaving directory '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-4.14.171'
Makefile.main:71: recipe for target 'default' failed
make[7]: *** [default] Error 2
make[7]: Leaving directory '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux'
Makefile:572: recipe for target 'all-recursive' failed
make[6]: *** [all-recursive] Error 1
make[6]: Leaving directory '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath'
Makefile:5154: recipe for target 'all-recursive' failed
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1'
Makefile:2985: recipe for target 'all' failed
make[4]: *** [all] Error 2
make[4]: Leaving directory '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1'
Makefile:321: recipe for target '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/.built' failed
make[3]: *** [/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/.built] Error 2
make[3]: Leaving directory '/sources/feeds/packages/net/openvswitch'
time: package/feeds/packages/openvswitch/compile#1.21#0.26#1.52
package/Makefile:111: recipe for target 'package/feeds/packages/openvswitch/compile' failed
make[2]: *** [package/feeds/packages/openvswitch/compile] Error 2
make[2]: Leaving directory '/sources'
package/Makefile:107: recipe for target '/sources/staging_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/stamp/.package_compile' failed
make[1]: *** [/sources/staging_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/stamp/.package_compile] Error 2
make[1]: Leaving directory '/sources'
/sources/include/toplevel.mk:225: recipe for target 'world' failed
make: *** [world] Error 2
@yousong yousong self-assigned this Mar 25, 2020
@yousong
Copy link
Member

yousong commented Mar 25, 2020

The failure occurred when building datapath kmod in the ovs source tree, the one in the upstream linux kernel tree should be fine.

For now, I think we need to make the intree variant depend on IPV6, please see if the following patch could skip building of the intree kmods

diff --git a/net/openvswitch/Makefile b/net/openvswitch/Makefile
index bb3c3dd43..b26cbf400 100644
--- a/net/openvswitch/Makefile
+++ b/net/openvswitch/Makefile
@@ -55,7 +55,7 @@ define OvsKmodPackageTemplate
      CATEGORY:=Kernel modules
      SUBMENU:=Network Support
      TITLE:=$(ovs_kmod_$(1)_title)
-     DEPENDS:=$(ovs_kmod_$(1)_depends) $(if $(call ovs_kmod_is_intree,$(1)),@DEVEL $(if $(ovs_kmod_intree_not_supported),@BROKEN))
+     DEPENDS:=$(ovs_kmod_$(1)_depends) $(if $(call ovs_kmod_is_intree,$(1)),@IPV6 @DEVEL $(if $(ovs_kmod_intree_not_supported),@BROKEN))
      PROVIDES:=$(call ovs_kmod_package_provides,$(1))
      KCONFIG:=$(ovs_kmod_$(1)_kconfig)
      FILES:=$(ovs_kmod_$(1)_files)

@pandasauce
Copy link
Author

That didn't seem to help. Do I need to run a clean build for it to kick in?

make[3]: Entering directory '/sources/feeds/packages/net/openvswitch'
rm -f /sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/.built
touch /sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/.built_check
cat /dev/null > /sources/staging_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/pkginfo/openvswitch.symvers; for subdir in .; do cat /sources/staging_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/pkginfo/*.symvers 2>/dev/null > /sources/b
uild_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/$subdir/Module.symvers; done
CFLAGS="-Os -pipe -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=hard -iremap/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch
-2.11.1:openvswitch-2.11.1 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -flto -std=gnu99  -I/sources/staging_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/usr/include -I/sources/staging_di
r/target-arm_cortex-a15+neon-vfpv4_musl_eabi/include -I/sources/staging_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-7.5.0_musl_eabi/usr/include -I/sources/staging_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-7.5.0_musl_eabi/include/fortify
-I/sources/staging_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-7.5.0_musl_eabi/include " CXXFLAGS="-Os -pipe -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=hard -iremap/sou
rces/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1:openvswitch-2.11.1 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -flto -std=gnu99  -I/sourc
es/staging_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/usr/include -I/sources/staging_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/include -I/sources/staging_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-7.5.0_musl_eabi/usr/include -I/s
ources/staging_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-7.5.0_musl_eabi/include/fortify -I/sources/staging_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-7.5.0_musl_eabi/include " LDFLAGS="-L/sources/staging_dir/target-arm_cortex-a15+neon-
vfpv4_musl_eabi/usr/lib -L/sources/staging_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/lib -L/sources/staging_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-7.5.0_musl_eabi/usr/lib -L/sources/staging_dir/toolchain-arm_cortex-a15+neon-vfpv4
_gcc-7.5.0_musl_eabi/lib -znow -zrelro " PYTHONPATH="/sources/staging_dir/hostpkg/lib/python3.7:/sources/staging_dir/hostpkg/lib/python3.7/site-packages" make  -C /sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_
generic/openvswitch-2.11.1/. AR="arm-openwrt-linux-muslgnueabi-gcc-ar" AS="arm-openwrt-linux-muslgnueabi-gcc -c -Os -pipe -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=har
d -iremap/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1:openvswitch-2.11.1 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -flto -std=gn
u99" LD=arm-openwrt-linux-muslgnueabi-ld NM="arm-openwrt-linux-muslgnueabi-gcc-nm" CC="arm-openwrt-linux-muslgnueabi-gcc" GCC="arm-openwrt-linux-muslgnueabi-gcc" CXX="arm-openwrt-linux-muslgnueabi-g++" RANLIB="arm-openwrt-linux-muslgnueabi
-gcc-ranlib" STRIP=arm-openwrt-linux-muslgnueabi-strip OBJCOPY=arm-openwrt-linux-muslgnueabi-objcopy OBJDUMP=arm-openwrt-linux-muslgnueabi-objdump SIZE=arm-openwrt-linux-muslgnueabi-size CROSS="arm-openwrt-linux-muslgnueabi-" ARCH="arm" ;
make[4]: Entering directory '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1'
make  all-recursive
make[5]: Entering directory '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1'
Making all in datapath
make[6]: Entering directory '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath'
Making all in linux
make[7]: Entering directory '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux'
make -C /sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-4.14.171 ARCH=arm M=/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux mod
ules
make[8]: Entering directory '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-4.14.171'
  CC [M]  /sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.o
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1676:15: error: variable 'ip6gre_protocol' has initializer but incomplete type
 static struct inet6_protocol ip6gre_protocol __read_mostly = {
               ^~~~~~~~~~~~~~
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1677:3: error: 'struct inet6_protocol' has no member named 'handler'
  .handler     = gre_rcv,
   ^~~~~~~
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1677:17: warning: excess elements in struct initializer
  .handler     = gre_rcv,
                 ^~~~~~~
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1677:17: note: (near initialization for 'ip6gre_protocol')
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1678:3: error: 'struct inet6_protocol' has no member named 'err_handler'
  .err_handler = ip6gre_err,
   ^~~~~~~~~~~
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1678:17: warning: excess elements in struct initializer
  .err_handler = ip6gre_err,
                 ^~~~~~~~~~
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1678:17: note: (near initialization for 'ip6gre_protocol')
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1679:3: error: 'struct inet6_protocol' has no member named 'flags'
  .flags       = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL,
   ^~~~~
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1679:17: error: 'INET6_PROTO_NOPOLICY' undeclared here (not in a function); did you mean 'NET_IPV4_CONF_NOPOLIC
Y'?
  .flags       = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL,
                 ^~~~~~~~~~~~~~~~~~~~
                 NET_IPV4_CONF_NOPOLICY
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1679:38: error: 'INET6_PROTO_FINAL' undeclared here (not in a function); did you mean 'INET6_PROTO_NOPOLICY'?
  .flags       = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL,
                                      ^~~~~~~~~~~~~~~~~
                                      INET6_PROTO_NOPOLICY
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1679:17: warning: excess elements in struct initializer
  .flags       = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL,
                 ^~~~~~~~~~~~~~~~~~~~
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1679:17: note: (near initialization for 'ip6gre_protocol')
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c: In function 'rpl_ip6gre_init':
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:2805:8: error: implicit declaration of function 'inet6_add_protocol'; did you mean 'inet_add_protocol'? [-Werro
r=implicit-function-declaration]
  err = inet6_add_protocol(&ip6gre_protocol, IPPROTO_GRE);
        ^~~~~~~~~~~~~~~~~~
        inet_add_protocol
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c: In function 'rpl_ip6gre_fini':
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:2849:3: error: implicit declaration of function 'inet6_del_protocol'; did you mean 'inet_del_protocol'? [-Werro
r=implicit-function-declaration]
   inet6_del_protocol(&ip6gre_protocol, IPPROTO_GRE);
   ^~~~~~~~~~~~~~~~~~
   inet_del_protocol
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c: At top level:
/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.c:1676:30: error: storage size of 'ip6gre_protocol' isn't known
 static struct inet6_protocol ip6gre_protocol __read_mostly = {
                              ^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
scripts/Makefile.build:326: recipe for target '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.o' failed
make[9]: *** [/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux/ip6_gre.o] Error 1
Makefile:1542: recipe for target '_module_/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux' failed
make[8]: *** [_module_/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux] Error 2
make[8]: Leaving directory '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-4.14.171'
Makefile.main:71: recipe for target 'default' failed
make[7]: *** [default] Error 2
make[7]: Leaving directory '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath/linux'
Makefile:572: recipe for target 'all-recursive' failed
make[6]: *** [all-recursive] Error 1
make[6]: Leaving directory '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/datapath'
Makefile:5154: recipe for target 'all-recursive' failed
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1'
Makefile:2985: recipe for target 'all' failed
make[4]: *** [all] Error 2
make[4]: Leaving directory '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1'
Makefile:321: recipe for target '/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/.built' failed
make[3]: *** [/sources/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/openvswitch-2.11.1/.built] Error 2
make[3]: Leaving directory '/sources/feeds/packages/net/openvswitch'
time: package/feeds/packages/openvswitch/compile#1.14#0.30#1.50
package/Makefile:111: recipe for target 'package/feeds/packages/openvswitch/compile' failed
make[2]: *** [package/feeds/packages/openvswitch/compile] Error 2
make[2]: Leaving directory '/sources'
package/Makefile:107: recipe for target '/sources/staging_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/stamp/.package_compile' failed
make[1]: *** [/sources/staging_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/stamp/.package_compile] Error 2
make[1]: Leaving directory '/sources'
/sources/include/toplevel.mk:225: recipe for target 'world' failed
make: *** [world] Error 2

@yousong
Copy link
Member

yousong commented Mar 25, 2020

Please share output of the following command

grep -iE '_ipv6|openvswitch' .config

After a new run of menuconfig or defconfig, kmod-openvswitch-intree should only be selectable when CONFIG_IPV6 is enabled.

yousong added a commit that referenced this issue Mar 26, 2020
Ref: #11665
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
yousong added a commit that referenced this issue Mar 26, 2020
Ref: #11665
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
(cherry picked from commit 88dcd09)
@yousong
Copy link
Member

yousong commented Mar 26, 2020

Hi @pandasauce , I just also backported the @IPV6 fix to openwrt-19.07. Please give it a try to see if it will de-select kmod-openvswitch-intree and friends when CONIFG_IPV6 is not set

@pandasauce
Copy link
Author

Running defconfig again did it. Just flashed the resulting build. Thank you!

@yousong yousong closed this as completed Apr 18, 2020
farmergreg pushed a commit to farmergreg/packages that referenced this issue Sep 8, 2020
Ref: openwrt#11665
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
farmergreg pushed a commit to farmergreg/packages that referenced this issue Sep 8, 2020
Ref: openwrt#11665
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants