From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [PATCH] mk: fix ABI versioning compile error for combined shared library Date: Mon, 2 Nov 2015 10:20:23 +0000 Message-ID: <20151102102023.GA29052@sivlogin002.ir.intel.com> References: <1706989.WgznurFLZ8@xps13> <4489406.qekDmzhmkY@xps13> <20151102000517.GA4669@sivlogin002.ir.intel.com> <4832819.EtRlJavyLu@xps13> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org, Eric Kinzie To: Thomas Monjalon Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 03A0E8E9A for ; Mon, 2 Nov 2015 11:20:29 +0100 (CET) Content-Disposition: inline In-Reply-To: <4832819.EtRlJavyLu@xps13> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Mon, Nov 02, 2015 at 08:10:25AM +0100, Thomas Monjalon wrote: > 2015-11-02 00:05, Ferruh Yigit: > > On Mon, Nov 02, 2015 at 12:24:51AM +0100, Thomas Monjalon wrote: > > > > 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? > > > > CPU_LDFLAGS shared by other libraries and confilicts with this usage. > > Sorry I don't understand. > CPU_LDFLAGS is -melf_i386 for Intel 32-bit. > Why removing it for combined library? What is the conflict? When combined shared option enabled, CPP_LDFLAGS will be processed and other libraries CPU_LDFLAGS value will contain this value, and generate an compilation eroor like following: " gcc -m64 -Wl,--version-script=./lib/libdpdk.map -Wl,--version-script=/root/dpdk/lib/librte_eal/linuxapp/eal/rte_eal_version.map -shared -Wl,-soname,librte_eal.so.2.1 -o librte_eal.so.2.1 /usr/bin/ld: cannot open linker script file ./lib/libdpdk.map: No such file or directory collect2: error: ld returned 1 exit status " That is why I have created a new variable, and CPU_LDFLAGS was empty, but with double check what CPU_LDFLAGS is, it should stay there, I will update the patch, at worst I can add a new flag instead of replacing CPU_LDFLAGS Regards, ferruh