From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 30BD6A057C; Fri, 27 Mar 2020 14:55:21 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CE42C1C1E6; Fri, 27 Mar 2020 14:55:19 +0100 (CET) Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by dpdk.org (Postfix) with ESMTP id 8C95F1C1E4 for ; Fri, 27 Mar 2020 14:55:18 +0100 (CET) Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id C94F85C04A5; Fri, 27 Mar 2020 09:55:17 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute7.internal (MEProxy); Fri, 27 Mar 2020 09:55:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding:content-type; s=mesmtp; bh=WwQZEGlUNKs8Qe4rz829Q2MaBXSfzcKFbk2Fle8GIzI=; b=b6ffOnnH5QLV z0eL04g6rOo3znwF9TxssNZpcPFP6fXCM3/nQ3upxmVODt13zyX4PR5GLmYK0uNb iNIDpE092wGUZBB/vV7IOwz7lNnoJ7o2dqVnzdZHIORSnqx0G76v88p4es5sAYAS +lUrTEr5nrNtH0ExdlJdHI5gy98D2g0= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=WwQZEGlUNKs8Qe4rz829Q2MaBXSfzcKFbk2Fle8GI zI=; b=bucoToazWyM+lE3GilNhDE0Ertns10lYum843aP3+7LUc/O7RrYp3ZCWQ zWv0JlSvOk0HhkRSClouB4tijZZCZkzZN5smq/vBGXREyCZDNbZlzoImiaI7j9QS OzGI1YGGZhdpTCY2DuIU/o4xR2n+L1ugDQDJu4wIdIf7x2d04mv13kc4UBzNd5E2 AKoNAtKZxUrtjcDyGd7RGk0mAKuK2/ZbZDv0Kq+Mt7YSVy7O4MAwoCBUo88BuJkM wKVJiFSkgat57JtIQNmpzoQrLthMuOmVGzAVVV1rpa4EGM+VjdjOO9WvK8dah/LF A8tM/UmqRII9Gh6/QBB9hhEJAVSmg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedugedrudehledgheehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkfgjfhgggfgtsehtqhertddttddunecuhfhrohhmpefvhhhomhgr shcuofhonhhjrghlohhnuceothhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqnecuff homhgrihhnpeguphgukhdrohhrghdpvgigthhvrghrshdrmhhknecukfhppeejjedrudef gedrvddtfedrudekgeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrih hlfhhrohhmpehthhhomhgrshesmhhonhhjrghlohhnrdhnvght X-ME-Proxy: Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id 9C812306C31C; Fri, 27 Mar 2020 09:55:16 -0400 (EDT) From: Thomas Monjalon To: Tom Barbette Cc: dev@dpdk.org, Matthew Hall Date: Fri, 27 Mar 2020 14:55:14 +0100 Message-ID: <2838010.xgJ6IN8ObU@xps> In-Reply-To: <8876096d-45e3-7ab4-d7ea-0364eec0c0e4@kth.se> References: <1935321.K71DO8KEF6@xps> <8876096d-45e3-7ab4-d7ea-0364eec0c0e4@kth.se> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="iso-8859-1" Subject: Re: [dpdk-dev] Impossible to build external application if user build DPDK with "make config" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 27/03/2020 13:35, Tom Barbette: > Le 27/03/2020 =E0 11:35, Thomas Monjalon a =E9crit : > > 27/03/2020 10:14, Tom Barbette: > >> CC'ing original participants as I don't see a way out of this. > >> > >> Le 12/03/2020 =E0 13:04, Tom Barbette a =E9crit : > >>> Hi all, > >>> > >>> If the user follows the quick guide > >>> (http://core.dpdk.org/doc/quick-start/) DPDK will be compiled in the > >>> "build" folder. > >>> > >>> However, external applications will always fail to build because > >>> RTE_SDK_BIN is strictly defined as $RTE_SDK/$RTE_TARGET, and > >>> mk/internal/rte.extvars.mk needs to find .config in $RTE_SDK_BIN. > >>> > >>> Therefore please apply the patch at: > >>> http://patchwork.dpdk.org/patch/9991/ that allows external apps to > >>> override $RTE_SDK_BIN. > >>> > >>> Or (less preferable) modify the quick start guide to use something mo= re > >>> standard that allows to build with external apps (eg use the menu or > >>> propose "make config T=3Dx86_64-native-linuxapp-gcc > >>> O=3Dx86_64-native-linuxapp-gcc" instead). It's much easier for extern= al > >>> apps maintainer to refer to the DPDK tutorial for DPDK installation. > >=20 > > I don't understand the issue. > > First of all, the external application should link an installed DPDK. > > Then you should be able to set $RTE_SDK and $RTE_TARGET to fit > > the installation directories. > >=20 > > Just checked doc/guides/linux_gsg/build_dpdk.rst > > I see the whole build process with make is not correctly documented. > > It should be: > >=20 > > 1/ > > make defconfig > > or > > make config T=3Dx86_64-native-linux-gcc O=3Dmybuild > >=20 > > 2/ make -j4 O=3Dmybuild > >=20 > > 3/ make install O=3Dmybuild DESTDIR=3Dmyinstall prefix=3D > >=20 > > 4/ RTE_SDK=3D$(pwd)/myinstall/share/dpdk RTE_TARGET=3Dx86_64-native-lin= ux-gcc make -C myapp > >=20 > > Please can you confirm it works? > >=20 > >=20 >=20 > I don't think it is usual to link against an "installed" DPDK, actually.= =20 > I've only seen people explaining "build DPDK with 1 & 2", which is=20 > probably why the quick start also use only that and the usertools menu=20 > also only builds in the usual folder SDK/TARGET. >=20 > Then also using the install method you propose, I'm missing a few=20 > libraries, eg -lethdev which I would have to find using=20 > -L$RTE_SDK/../../lib which does not sound great. But adding a link to=20 > ../../lib under share fixes the problem, and the install script could do = it. Why are you trying to link a library in RTE_SDK? You should set the installed library directory with LD_LIBRARY_PATH. > Making RTE_SDK_BIN a ?=3D instead of a :=3D would allow us to fix the=20 > non-installed, but built-in-a-funny-folder installation path easily. >=20 > So I would recommend doing the lib link, but still the change proposed=20 > because I'm really not sure people "install" DPDK... The correct method is installing the library and using standard environment= variables. The only change I am OK to do is improving the documentation.