Hi Team, Make for netlink plugin us failing with below error.
Firstly I cloned vppsb git clone https://gerrit.fd.io/r/vppsb cd vppsb Then I started building netlink plugin. Make failed with below errors cd netlink libtoolize aclocal autoconf automake --add-missing ./configure make ~/vppsb/netlink$ make depbase=`echo librtnl/netns.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/bash ./libtool --tag=CC --mode=compile gcc -DPACKAGE_NAME=\"netlink\" -DPACKAGE_TARNAME=\"netlink\" -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"netlink\ 1.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"netlink\" -DVERSION=\"1.0\" -I. -Wall -fstack-protector -fPIC -Werror -g -DFORTIFY_SOURCE=2 -O2 -Wall -g -O2 -MT librtnl/netns.lo -MD -MP -MF $depbase.Tpo -c -o librtnl/netns.lo librtnl/netns.c &&\ mv -f $depbase.Tpo $depbase.Plo libtool: compile: gcc -DPACKAGE_NAME=\"netlink\" -DPACKAGE_TARNAME=\"netlink\" -DPACKAGE_VERSION=\"1.0\" "-DPACKAGE_STRING=\"netlink 1.0\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"netlink\" -DVERSION=\"1.0\" -I. -Wall -fstack-protector -fPIC -Werror -g -DFORTIFY_SOURCE=2 -O2 -Wall -g -O2 -MT librtnl/netns.lo -MD -MP -MF librtnl/.deps/netns.Tpo -c librtnl/netns.c -fPIC -DPIC -o librtnl/.libs/netns.o librtnl/netns.c: In function ‘netns_notify’: librtnl/netns.c:321:6: error: macro "pool_foreach" passed 3 arguments, but takes just 2 }); ^ librtnl/netns.c:318:3: error: ‘pool_foreach’ undeclared (first use in this function); did you mean ‘_pool_free’? pool_foreach(h, nm->handles, { ^~~~~~~~~~~~ _pool_free librtnl/netns.c:318:3: note: each undeclared identifier is reported only once for each function it appears in librtnl/netns.c:317:19: error: unused variable ‘h’ [-Werror=unused-variable] netns_handle_t *h; ^ librtnl/netns.c:316:17: error: unused variable ‘nm’ [-Werror=unused-variable] netns_main_t *nm = &netns_main; ^~ librtnl/netns.c: In function ‘ns_get_link’: librtnl/netns.c:344:6: error: macro "pool_foreach" passed 3 arguments, but takes just 2 }); ^ librtnl/netns.c:341:3: error: ‘pool_foreach’ undeclared (first use in this function); did you mean ‘_pool_free’? pool_foreach(link, ns->netns.links, { ^~~~~~~~~~~~ _pool_free librtnl/netns.c:340:14: error: unused variable ‘link’ [-Werror=unused-variable] ns_link_t *link; ^~~~ librtnl/netns.c: In function ‘ns_get_route’: librtnl/netns.c:411:6: error: macro "pool_foreach" passed 3 arguments, but takes just 2 }); ^ librtnl/netns.c:407:3: error: ‘pool_foreach’ undeclared (first use in this function); did you mean ‘_pool_free’? pool_foreach(route, ns->netns.routes, { ^~~~~~~~~~~~ _pool_free librtnl/netns.c:398:16: error: unused variable ‘msg’ [-Werror=unused-variable] struct rtmsg msg = { ^~~ librtnl/netns.c:395:15: error: unused variable ‘route’ [-Werror=unused-variable] ns_route_t *route; ^~~~~ librtnl/netns.c: In function ‘ns_get_addr’: librtnl/netns.c:474:6: error: macro "pool_foreach" passed 3 arguments, but takes just 2 }); ^ librtnl/netns.c:470:3: error: ‘pool_foreach’ undeclared (first use in this function); did you mean ‘_pool_free’? pool_foreach(addr, ns->netns.addresses, { ^~~~~~~~~~~~ _pool_free librtnl/netns.c:465:20: error: unused variable ‘msg’ [-Werror=unused-variable] struct ifaddrmsg msg = { ^~~ librtnl/netns.c:462:14: error: unused variable ‘addr’ [-Werror=unused-variable] ns_addr_t *addr; ^~~~ librtnl/netns.c: In function ‘ns_get_neigh’: librtnl/netns.c:537:6: error: macro "pool_foreach" passed 3 arguments, but takes just 2 }); ^ librtnl/netns.c:533:3: error: ‘pool_foreach’ undeclared (first use in this function); did you mean ‘_pool_free’? pool_foreach(neigh, ns->netns.neighbors, { ^~~~~~~~~~~~ _pool_free librtnl/netns.c:528:16: error: unused variable ‘msg’ [-Werror=unused-variable] struct ndmsg msg = { ^~~ librtnl/netns.c:525:15: error: unused variable ‘neigh’ [-Werror=unused-variable] ns_neigh_t *neigh; ^~~~~ librtnl/netns.c: In function ‘ns_recv_error’: librtnl/netns.c:609:3: error: macro "pool_foreach_index" passed 3 arguments, but takes just 2 ns_object_foreach ^~~~~~~~~~~~~~~~~ librtnl/netns.c:600:3: error: ‘pool_foreach_index’ undeclared (first use in this function); did you mean ‘__os_thread_index’? pool_foreach_index(*i, ns->netns.pool, { \ ^ librtnl/netns.c:586:3: note: in expansion of macro ‘_’ _(neighbors, NETNS_TYPE_NEIGH) \ ^ librtnl/netns.c:609:3: note: in expansion of macro ‘ns_object_foreach’ ns_object_foreach ^~~~~~~~~~~~~~~~~ In file included from /usr/include/vppinfra/vec.h:44:0, from /usr/include/vppinfra/format.h:44, from /usr/include/vppinfra/elf.h:41, from /usr/include/vppinfra/elf_clib.h:41, from /usr/include/vlib/vlib.h:44, from ./librtnl/netns.h:19, from librtnl/netns.c:16: librtnl/netns.c:603:5: error: expected ‘;’ before ‘for’ vec_foreach(i, indexes) { \ ^ librtnl/netns.c:586:3: note: in expansion of macro ‘_’ _(neighbors, NETNS_TYPE_NEIGH) \ ^ librtnl/netns.c:609:3: note: in expansion of macro ‘ns_object_foreach’ ns_object_foreach ^~~~~~~~~~~~~~~~~ In file included from /usr/include/vppinfra/cache.h:41:0, from /usr/include/vppinfra/smp.h:41, from /usr/include/vppinfra/os.h:97, from /usr/include/vppinfra/mem.h:48, from /usr/include/vppinfra/vec.h:42, from /usr/include/vppinfra/format.h:44, from /usr/include/vppinfra/elf.h:41, from /usr/include/vppinfra/elf_clib.h:41, from /usr/include/vlib/vlib.h:44, from ./librtnl/netns.h:19, from librtnl/netns.c:16: librtnl/netns.c:607:3: error: macro "pool_foreach_index" passed 3 arguments, but takes just 2 vec_reset_length(indexes); ^ librtnl/netns.c:586:3: note: in expansion of macro ‘_’ _(neighbors, NETNS_TYPE_NEIGH) \ ^ librtnl/netns.c:609:3: note: in expansion of macro ‘ns_object_foreach’ ns_object_foreach ^~~~~~~~~~~~~~~~~ In file included from /usr/include/vppinfra/vec.h:44:0, from /usr/include/vppinfra/format.h:44, from /usr/include/vppinfra/elf.h:41, from /usr/include/vppinfra/elf_clib.h:41, from /usr/include/vlib/vlib.h:44, from ./librtnl/netns.h:19, from librtnl/netns.c:16: librtnl/netns.c:603:5: error: expected ‘;’ before ‘for’ vec_foreach(i, indexes) { \ ^ librtnl/netns.c:587:3: note: in expansion of macro ‘_’ _(routes, NETNS_TYPE_ROUTE) \ ^ librtnl/netns.c:609:3: note: in expansion of macro ‘ns_object_foreach’ ns_object_foreach ^~~~~~~~~~~~~~~~~ In file included from /usr/include/vppinfra/cache.h:41:0, from /usr/include/vppinfra/smp.h:41, from /usr/include/vppinfra/os.h:97, from /usr/include/vppinfra/mem.h:48, from /usr/include/vppinfra/vec.h:42, from /usr/include/vppinfra/format.h:44, from /usr/include/vppinfra/elf.h:41, from /usr/include/vppinfra/elf_clib.h:41, from /usr/include/vlib/vlib.h:44, from ./librtnl/netns.h:19, from librtnl/netns.c:16: librtnl/netns.c:607:3: error: macro "pool_foreach_index" passed 3 arguments, but takes just 2 vec_reset_length(indexes); ^ librtnl/netns.c:587:3: note: in expansion of macro ‘_’ _(routes, NETNS_TYPE_ROUTE) \ ^ librtnl/netns.c:609:3: note: in expansion of macro ‘ns_object_foreach’ ns_object_foreach ^~~~~~~~~~~~~~~~~ In file included from /usr/include/vppinfra/vec.h:44:0, from /usr/include/vppinfra/format.h:44, from /usr/include/vppinfra/elf.h:41, from /usr/include/vppinfra/elf_clib.h:41, from /usr/include/vlib/vlib.h:44, from ./librtnl/netns.h:19, from librtnl/netns.c:16: librtnl/netns.c:603:5: error: expected ‘;’ before ‘for’ vec_foreach(i, indexes) { \ ^ librtnl/netns.c:588:3: note: in expansion of macro ‘_’ _(addresses, NETNS_TYPE_ADDR) \ ^ librtnl/netns.c:609:3: note: in expansion of macro ‘ns_object_foreach’ ns_object_foreach ^~~~~~~~~~~~~~~~~ In file included from /usr/include/vppinfra/cache.h:41:0, from /usr/include/vppinfra/smp.h:41, from /usr/include/vppinfra/os.h:97, from /usr/include/vppinfra/mem.h:48, from /usr/include/vppinfra/vec.h:42, from /usr/include/vppinfra/format.h:44, from /usr/include/vppinfra/elf.h:41, from /usr/include/vppinfra/elf_clib.h:41, from /usr/include/vlib/vlib.h:44, from ./librtnl/netns.h:19, from librtnl/netns.c:16: librtnl/netns.c:607:3: error: macro "pool_foreach_index" passed 3 arguments, but takes just 2 vec_reset_length(indexes); ^ librtnl/netns.c:588:3: note: in expansion of macro ‘_’ _(addresses, NETNS_TYPE_ADDR) \ ^ librtnl/netns.c:609:3: note: in expansion of macro ‘ns_object_foreach’ ns_object_foreach ^~~~~~~~~~~~~~~~~ In file included from /usr/include/vppinfra/vec.h:44:0, from /usr/include/vppinfra/format.h:44, from /usr/include/vppinfra/elf.h:41, from /usr/include/vppinfra/elf_clib.h:41, from /usr/include/vlib/vlib.h:44, from ./librtnl/netns.h:19, from librtnl/netns.c:16: librtnl/netns.c:603:5: error: expected ‘;’ before ‘for’ vec_foreach(i, indexes) { \ ^ librtnl/netns.c:589:3: note: in expansion of macro ‘_’ _(links, NETNS_TYPE_LINK) ^ librtnl/netns.c:609:3: note: in expansion of macro ‘ns_object_foreach’ ns_object_foreach ^~~~~~~~~~~~~~~~~ librtnl/netns.c:597:8: error: unused variable ‘i’ [-Werror=unused-variable] u32 *i = 0; ^ librtnl/netns.c:595:12: error: unused variable ‘ns’ [-Werror=unused-variable] netns_p *ns = &netns_main.netnss[o]; ^~ librtnl/netns.c: In function ‘netns_get’: librtnl/netns.c:662:6: error: macro "pool_foreach" passed 3 arguments, but takes just 2 }); ^ librtnl/netns.c:659:3: error: ‘pool_foreach’ undeclared (first use in this function); did you mean ‘_pool_free’? pool_foreach(ns, nm->netnss, { ^~~~~~~~~~~~ _pool_free librtnl/netns.c: In function ‘netns_callme’: librtnl/netns.c:741:3: error: macro "pool_foreach_index" passed 3 arguments, but takes just 2 ns_object_foreach ^~~~~~~~~~~~~~~~~ librtnl/netns.c:736:3: error: ‘pool_foreach_index’ undeclared (first use in this function); did you mean ‘__os_thread_index’? pool_foreach_index(i, ns->netns.pool, { \ ^ librtnl/netns.c:586:3: note: in expansion of macro ‘_’ _(neighbors, NETNS_TYPE_NEIGH) \ ^ librtnl/netns.c:741:3: note: in expansion of macro ‘ns_object_foreach’ ns_object_foreach ^~~~~~~~~~~~~~~~~ librtnl/netns.c:741:3: error: macro "pool_foreach_index" passed 3 arguments, but takes just 2 librtnl/netns.c:741:3: error: macro "pool_foreach_index" passed 3 arguments, but takes just 2 librtnl/netns.c:741:3: error: macro "pool_foreach_index" passed 3 arguments, but takes just 2 librtnl/netns.c:731:7: error: unused variable ‘i’ [-Werror=unused-variable] u32 i = 0; ^ librtnl/netns.c:730:12: error: unused variable ‘ns’ [-Werror=unused-variable] netns_p *ns = pool_elt_at_index(nm->netnss, h->netns_index); ^~ At top level: librtnl/netns.c:255:1: error: ‘rtnl_entry_match’ defined but not used [-Werror=unused-function] rtnl_entry_match(void *entry, ^~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors Makefile:524: recipe for target 'librtnl/netns.lo' failed make: *** [librtnl/netns.lo] Error 1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#20842): https://lists.fd.io/g/vpp-dev/message/20842 Mute This Topic: https://lists.fd.io/mt/88986655/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-