[dpdk-dev] [PATCH] mk: fix ABI versioning compile error for combined shared library

Thomas Monjalon thomas.monjalon at 6wind.com
Mon Nov 2 00:24:51 CET 2015


2015-11-01 23:17, Ferruh Yigit:
> Fixes following error:
>   LD libdpdk.so
>   /usr/bin/ld: /root/dpdk/build/lib/libdpdk.so: version node not found
>   for symbol <function>@DPDK_x.y

> --- a/mk/rte.sharelib.mk
> +++ b/mk/rte.sharelib.mk
> @@ -40,6 +40,7 @@ LIB_ONE := lib$(RTE_LIBNAME).so
>  else
>  LIB_ONE := lib$(RTE_LIBNAME).a
>  endif
> +SHARED_LDFLAGS += --version-script=./lib/libdpdk.map
>  endif

It looks to be the right thing to do.

>  ifeq ($(LINK_USING_CC),1)
>  # Override the definition of LD here, since we're linking with CC
>  LD := $(CC) $(CPU_CFLAGS)
> -O_TO_S = $(LD) $(call linkerprefix,$(CPU_LDFLAGS)) \
> +O_TO_S = $(LD) $(call linkerprefix,$(SHARED_LDFLAGS)) \
>  	-shared $(OBJS) -o $(RTE_OUTPUT)/lib/$(LIB_ONE)
>  else
> -O_TO_S = $(LD) $(CPU_LDFLAGS) \
> +O_TO_S = $(LD) $(SHARED_LDFLAGS) \
>  	-shared $(OBJS) -o $(RTE_OUTPUT)/lib/$(LIB_ONE)
>  endif

Why do you remove CPU_LDFLAGS?


More information about the dev mailing list