[dpdk-dev] [PATCH] Fix linking errors when CONFIG_RTE_BUILD_SHARED_LIB is enabled

Neil Horman nhorman at tuxdriver.com
Wed Oct 1 12:50:22 CEST 2014


On Wed, Oct 01, 2014 at 01:27:03PM +0900, mukawa at igel.co.jp wrote:
> From: Tetsuya Mukawa <mukawa at igel.co.jp>
> 
> When CONFIG_RTE_BUILD_SHARED_LIB is enabled, linking errors occured
> while compiling. It seems those errors are caused by wrong link order
> of some libraries. The patch fixes it like following.
> 
> 1. librte_eal
> 2. librte_malloc
> 3. librte_mempool
> 4. librte_ring
> 5. librte_pmd_bond
> 6. librte_kvargs
> 
I'm not sure why thats necesecary.  We add a --start-group/--end-group pair
halfway through this makefile.  If we just encompassed the entire set of
libraries in that group, order would be irrelevant.

Neil

> Signed-off-by: Tetsuya Mukawa <mukawa at igel.co.jp>
> ---
>  mk/rte.app.mk | 16 ++++++++--------
>  1 file changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/mk/rte.app.mk b/mk/rte.app.mk
> index 34dff2a..172ba4d 100644
> --- a/mk/rte.app.mk
> +++ b/mk/rte.app.mk
> @@ -121,10 +121,6 @@ endif
>  
>  LDLIBS += --start-group
>  
> -ifeq ($(CONFIG_RTE_LIBRTE_KVARGS),y)
> -LDLIBS += -lrte_kvargs
> -endif
> -
>  ifeq ($(CONFIG_RTE_LIBRTE_MBUF),y)
>  LDLIBS += -lrte_mbuf
>  endif
> @@ -137,6 +133,10 @@ ifeq ($(CONFIG_RTE_LIBRTE_ETHER),y)
>  LDLIBS += -lethdev
>  endif
>  
> +ifeq ($(CONFIG_RTE_LIBRTE_EAL),y)
> +LDLIBS += -lrte_eal
> +endif
> +
>  ifeq ($(CONFIG_RTE_LIBRTE_MALLOC),y)
>  LDLIBS += -lrte_malloc
>  endif
> @@ -158,10 +158,6 @@ ifeq ($(CONFIG_RTE_LIBGLOSS),y)
>  LDLIBS += -lgloss
>  endif
>  
> -ifeq ($(CONFIG_RTE_LIBRTE_EAL),y)
> -LDLIBS += -lrte_eal
> -endif
> -
>  ifeq ($(CONFIG_RTE_LIBRTE_CMDLINE),y)
>  LDLIBS += -lrte_cmdline
>  endif
> @@ -174,6 +170,10 @@ ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y)
>  LDLIBS += -lrte_pmd_bond
>  endif
>  
> +ifeq ($(CONFIG_RTE_LIBRTE_KVARGS),y)
> +LDLIBS += -lrte_kvargs
> +endif
> +
>  ifeq ($(CONFIG_RTE_LIBRTE_PMD_XENVIRT),y)
>  LDLIBS += -lrte_pmd_xenvirt
>  LDLIBS += -lxenstore
> -- 
> 1.9.1
> 
> 


More information about the dev mailing list