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 > >