[cmaster-next] [PATCH] vtysh: Fix static compilation
When compiling vtysh with --enable-static and --disasble-shared we get linker errors with duplicate function names. This commit addresses this issue. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> --- vtysh/vtysh.c | 14 +++++++------- vtysh/vtysh_user.c | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c index 6c00058..a90915e 100644 --- a/vtysh/vtysh.c +++ b/vtysh/vtysh.c @@ -1457,8 +1457,8 @@ DEFUNSH (VTYSH_ISISD, } DEFUNSH (VTYSH_RMAP, - route_map, - route_map_cmd, + vtysh_route_map, + vtysh_route_map_cmd, "route-map WORD (deny|permit) <1-65535>", "Create route-map or enter route-map command mode\n" "Route map tag\n" @@ -1867,13 +1867,13 @@ ALIAS (vtysh_exit_vrf, /* TODO Implement interface description commands in ripngd, ospf6d * and isisd. */ DEFSH (VTYSH_ZEBRA|VTYSH_RIPD|VTYSH_OSPFD|VTYSH_LDPD, - interface_desc_cmd, + vtysh_interface_desc_cmd, "description .LINE", "Interface specific description\n" "Characters describing this interface\n") DEFSH (VTYSH_ZEBRA|VTYSH_RIPD|VTYSH_OSPFD, - no_interface_desc_cmd, + vtysh_no_interface_desc_cmd, "no description", NO_STR "Interface specific description\n") @@ -3295,8 +3295,8 @@ vtysh_init_vty (void) install_element (RMAP_NODE, &vtysh_end_all_cmd); install_element (VTY_NODE, &vtysh_end_all_cmd); - install_element (INTERFACE_NODE, &interface_desc_cmd); - install_element (INTERFACE_NODE, &no_interface_desc_cmd); + install_element (INTERFACE_NODE, &vtysh_interface_desc_cmd); + install_element (INTERFACE_NODE, &vtysh_no_interface_desc_cmd); install_element (INTERFACE_NODE, &vtysh_end_all_cmd); install_element (INTERFACE_NODE, &vtysh_exit_interface_cmd); install_element (LINK_PARAMS_NODE, &exit_link_params_cmd); @@ -3361,7 +3361,7 @@ vtysh_init_vty (void) install_element (BGP_VNC_L2_GROUP_NODE, &exit_vnc_config_cmd); install_element (CONFIG_NODE, &key_chain_cmd); - install_element (CONFIG_NODE, &route_map_cmd); + install_element (CONFIG_NODE, &vtysh_route_map_cmd); install_element (CONFIG_NODE, &vtysh_line_vty_cmd); install_element (KEYCHAIN_NODE, &key_cmd); install_element (KEYCHAIN_NODE, &key_chain_cmd); diff --git a/vtysh/vtysh_user.c b/vtysh/vtysh_user.c index 1886ba3..da2ed15 100644 --- a/vtysh/vtysh_user.c +++ b/vtysh/vtysh_user.c @@ -165,8 +165,8 @@ user_get (const char *name) return user; } -DEFUN (banner_motd_file, - banner_motd_file_cmd, +DEFUN (vtysh_banner_motd_file, + vtysh_banner_motd_file_cmd, "banner motd file FILE", "Set banner\n" "Banner for motd\n" @@ -229,5 +229,5 @@ vtysh_user_init (void) { userlist = list_new (); install_element (CONFIG_NODE, &username_nopassword_cmd); - install_element (CONFIG_NODE, &banner_motd_file_cmd); + install_element (CONFIG_NODE, &vtysh_banner_motd_file_cmd); } -- 2.5.5
Weird - the symbols should be "static", and on my system they indeed are, and it works without the patch. I'll go apply this, but I'm curious what exactly is causing this... can someone where this is failing run the build until the actual failure, and create & mail/upload a tarball of the entire quagga directory? -David On Wed, Dec 07, 2016 at 03:28:44PM -0500, Donald Sharp wrote:
When compiling vtysh with --enable-static and --disasble-shared we get linker errors with duplicate function names.
participants (2)
-
David Lamparter -
Donald Sharp