Le 27/03/2020 à 11:35, Thomas Monjalon a écrit :
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 à 13:04, Tom Barbette a écrit :
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 more
standard that allows to build with external apps (eg use the menu or
propose "make config T=x86_64-native-linuxapp-gcc
O=x86_64-native-linuxapp-gcc" instead). It's much easier for external
apps maintainer to refer to the DPDK tutorial for DPDK installation.

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.

Just checked doc/guides/linux_gsg/build_dpdk.rst
I see the whole build process with make is not correctly documented.
It should be:

1/
        make defconfig
        or
        make config T=x86_64-native-linux-gcc O=mybuild

2/      make -j4 O=mybuild

3/      make install O=mybuild DESTDIR=myinstall prefix=

4/      RTE_SDK=$(pwd)/myinstall/share/dpdk RTE_TARGET=x86_64-native-linux-gcc 
make -C myapp

Please can you confirm it works?



I don't think it is usual to link against an "installed" DPDK, actually. I've only seen people explaining "build DPDK with 1 & 2", which is probably why the quick start also use only that and the usertools menu also only builds in the usual folder SDK/TARGET.

Then also using the install method you propose, I'm missing a few libraries, eg -lethdev which I would have to find using -L$RTE_SDK/../../lib which does not sound great. But adding a link to ../../lib under share fixes the problem, and the install script could do it.

Making RTE_SDK_BIN a ?= instead of a := would allow us to fix the non-installed, but built-in-a-funny-folder installation path easily.

So I would recommend doing the lib link, but still the change proposed because I'm really not sure people "install" DPDK...


Thanks,
Tom

Reply via email to