From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf0-f176.google.com (mail-pf0-f176.google.com [209.85.192.176]) by dpdk.org (Postfix) with ESMTP id B02202BAF for ; Wed, 27 Apr 2016 03:38:51 +0200 (CEST) Received: by mail-pf0-f176.google.com with SMTP id 206so13881481pfu.0 for ; Tue, 26 Apr 2016 18:38:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=igel-co-jp.20150623.gappssmtp.com; s=20150623; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=ODq4tsAV2mQxN4cn2cpIPZacttDScZGbWqQ7z39kohU=; b=iLHSTgouDn8AmOa8WuPVgKiTjL55xFRUdiEZknn8ZVHyoXX0txH/X+DM08BvgWpHmU 20SvMfQ5//EjyfqNxm2xh1ExVGLZhbu24DF4HvEqnHN+LgUQWpcZrG59jL6qGPzfR5uI hjKoLJVeCRGnyxWyxTYeQMeJ+/t0hm9ER/QpNLVe3/BoUMZZjDAdfxuiMLKZMWHr5eL2 lZEjobnugPG8frkQON8nFBzUB6ZMah8hDXO/iab/Ta5+J7NY/bNousLoII9ijh71a3MP pfXB+vgNfOyH4vrZutboCnCK0Im8rEPWEHtx4+EvWt+RMCksdmctBWHV7iXdKw4aVLAf YCNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=ODq4tsAV2mQxN4cn2cpIPZacttDScZGbWqQ7z39kohU=; b=l7K1y3AC2DH2m8thbxMHJSRDfnb1i1qy45eFUYsEPVG3DFCemV1csEUBrbyZcpd29O oWvi9A4kW/KSTMDclDo32dkY+8llv9sYW4gCJoiWTMWKcLuSqCD6mZ0PmI3kISaCn9dQ 5ayJSArqRfj2G1kM3RVhlikAH+3qvzXEarQp8yT2Gh5DS/CpsU9FfqF0uoBKSgNW7B0L F22J0zSlyPDEdYsRMh3yrCLJUEgMwEMRKulxOOdF61gJZTggwIiq4gKcdfmGOHEElUb/ mzY8Z59/b1D7hYEfsOonVPnAEF9X0J5FJ0G3P+6YYKuqTrMRWPZJUZfy4fBtgBMnbZ+T IDWg== X-Gm-Message-State: AOPr4FWVv7WuohDIL6GyWm63OTPmB/726CLpF90bAECfJRs45mId03yt8apCvTLmXOUpOg== X-Received: by 10.98.18.11 with SMTP id a11mr8183879pfj.102.1461721131008; Tue, 26 Apr 2016 18:38:51 -0700 (PDT) Received: from [10.16.129.101] (napt.igel.co.jp. [219.106.231.132]) by smtp.googlemail.com with ESMTPSA id t126sm1366929pfb.73.2016.04.26.18.38.48 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 26 Apr 2016 18:38:49 -0700 (PDT) To: Panu Matilainen , dev@dpdk.org References: <571DDDD8.6000000@igel.co.jp> <1461649169-13967-1-git-send-email-mukawa@igel.co.jp> Cc: yuanhan.liu@linux.intel.com, huawei.xie@intel.com, Thomas Monjalon From: Tetsuya Mukawa Message-ID: <57201826.30504@igel.co.jp> Date: Wed, 27 Apr 2016 10:38:46 +0900 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.7.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v2] vhost: Fix linkage of vhost PMD X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Apr 2016 01:38:52 -0000 On 2016/04/26 18:35, Panu Matilainen wrote: > On 04/26/2016 08:39 AM, Tetsuya Mukawa wrote: >> Currently, vhost PMD doesn't have linkage for librte_vhost, even though >> it depends on librte_vhost APIs. This causes a linkage error if below >> conditions are fulfilled. >> >> - DPDK libraries are compiled as shared libraries. >> - DPDK application doesn't link librte_vhost. >> - Above application tries to link vhost PMD using '-d' DPDK option. >> >> The patch adds linkage for librte_vhost to vhost PMD not to cause an >> above error. >> >> Signed-off-by: Tetsuya Mukawa >> Acked-by: Panu Matilainen >> --- >> drivers/net/vhost/Makefile | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/drivers/net/vhost/Makefile b/drivers/net/vhost/Makefile >> index f49a69b..30b91a0 100644 >> --- a/drivers/net/vhost/Makefile >> +++ b/drivers/net/vhost/Makefile >> @@ -38,6 +38,7 @@ LIB = librte_pmd_vhost.a >> >> CFLAGS += -O3 >> CFLAGS += $(WERROR_FLAGS) >> +LDLIBS += -lrte_vhost >> >> EXPORT_MAP := rte_pmd_vhost_version.map >> >> > > Hmm, turns out this isn't quite enough, simply because its the first > of its kind (first internal dependency between libraries), at least > I'm getting: > > == Build drivers/net/vhost > gcc -m64 > -Wl,--version-script=/srv/work/dist/dpdk/dpdk-16.04/drivers/net/vhost/rte_pmd_vhost_version.map > -shared rte_eth_vhost.o -lrte_vhost -Wl,-soname,librte_pmd_vhost.so.1 > -o librte_pmd_vhost.so.1 > /usr/bin/ld: cannot find -lrte_vhost > collect2: error: ld returned 1 exit status > /srv/work/dist/dpdk/dpdk-16.04/mk/rte.lib.mk:127: recipe for target > 'librte_pmd_vhost.so.1' failed > > So it'll need something like this as a pre-requisite to add the > internal libraries to the linker path: > > diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk > index 8f7e021..f5d7b04 100644 > --- a/mk/rte.lib.mk > +++ b/mk/rte.lib.mk > @@ -86,7 +86,7 @@ O_TO_A_DO = @set -e; \ > $(O_TO_A) && \ > echo $(O_TO_A_CMD) > $(call exe2cmd,$(@)) > > -O_TO_S = $(LD) $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) -shared $(OBJS-y) > $(LDLIBS) \ > +O_TO_S = $(LD) -L$(RTE_OUTPUT)/lib $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) > -shared $(OBJS-y) $(LDLIBS) \ > -Wl,-soname,$(LIB) -o $(LIB) > O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight > O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)"," LD $(@)") > > > I can submit an official patch for this later but I'm not exactly > feeling like the sharpest knife in the drawer today so if somebody > beats me to it, feel free. > > - Panu - Thanks for catching it. It seems I've already installed DPDK libraries in /usr/local/lib/. Then , I could not catch this error. I've confirmed your solution works fine. Thanks, Tetsuya