Thanks, Dave, and Eric. I ran into this 3 days ago doing some strange stuff
-- I did not realize that I was compiling without

-DWITHLIBSSL=<x>

where x is a positive number .

Freely translated, I did not realize I was compiling ipsec_output.c with
non-default options.

That said, I see only one issue, not two, and Dave's recommended change
should fix it

OH NOW I REMEMBER... I was trying last year to build with a C++ compiler
and it was necessary to restructure the macros, but that was a general
issue not at all related to this special case of two nodes given the same
parameter.

Burt

On Tue, Aug 22, 2017 at 7:51 AM, Dave Barach (dbarach) <dbar...@cisco.com>
wrote:

> Did you try changing the data structure names so they don’t conflict?
>
>
>
> VLIB_REGISTER_NODE (ipsec_output4_node) + VLIB_REGISTER_NODE
> (ipsec_output6_node).
>
>
>
> Feel free to submit a patch. (😉)...
>
>
>
> Thanks… Dave
>
>
>
> *From:* vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] *On
> Behalf Of *Eric Chen
> *Sent:* Tuesday, August 22, 2017 6:19 AM
> *To:* vpp-dev <vpp-dev@lists.fd.io>
> *Cc:* odp4vpp-...@lists.fd.io
> *Subject:* [vpp-dev] 回复:compiling error when build fd.io_odp4vpp with
> cross_compiler for aarch64 target
>
>
>
>
>
>
>
> HI
>
>
>
> I try to build odp4vpp on a x86 host with the cross-compiler for machine
> of aarch64.
>
>
>
> But encounter below errors, could you help me out?
>
>
>
> 1)
>
> vpp/build-root/install-armada-a8k_debug-aarch64/vlib/include/vlib/node.h:147:13:
> error: redefinition of '__vlib_add_node_registration_ipsec_output_node'
>
> static void __vlib_add_node_registration_##x (void)
>
>
>
>
>
> *node.h:147*
>
>
>
> #define VLIB_REGISTER_NODE(x,...)                                       \
>
>     __VA_ARGS__ vlib_node_registration_t x;                             \
>
> static void __vlib_add_node_registration_##x (void)                     \
>
>     __attribute__((__constructor__)) ;                                  \
>
> static void __vlib_add_node_registration_##x (void)                     \
>
> {                                                                       \
>
>     vlib_main_t * vm = vlib_get_main();                                 \
>
>     x.next_registration = vm->node_main.node_registrations;             \
>
>     vm->node_main.node_registrations = &x;                              \
>
> }                                                                       \
>
> __VA_ARGS__ vlib_node_registration_t x
>
>
>
>
>
> 2)
>
>
>
> *In ./vpp/vnet/vnet/ipsec/ipsec_output.c*
>
>
>
> If -DIPSEC=0, (--without-ipsec)  then below will cause redefinition error
> as well,
>
>
>
> /* *INDENT-OFF* */
>
> VLIB_REGISTER_NODE (ipsec_output_node) = {
>
>   .vector_size = sizeof (u32),
>
>   .function = ipsec_output_node_fn,
>
>   .name = "ipsec-output-ip4",
>
> };
>
>
>
> VLIB_REGISTER_NODE (ipsec_output_node) = {
>
>   .vector_size = sizeof (u32),
>
>   .function = ipsec_output_node_fn,
>
>   .name = "ipsec-output-ip6",
>
> };
>
>
>
>
>
>
>
>
> _______________________________________________
> vpp-dev mailing list
> vpp-dev@lists.fd.io
> https://lists.fd.io/mailman/listinfo/vpp-dev
>
_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to