[dpdk-users] crosscompiling dpdk

Mark Szczesniak mark.szczesniak at casa-systems.com
Sat Aug 13 00:26:31 CEST 2016


I was finally able to get it to build after downloading a kernel and with the downloading kernel instead of the one
on my server.

mark

> On Jul 31, 2016, at 10:42 AM, Mark Szczesniak <mark.szczesniak at casa-systems.com> wrote:
> 
> Thomas,
> 
> Thanks for the info.
> Once I do this, I run into the following issue (compiler-gcc.h missing)
> 
> make -f /usr/src/kernels/3.10.0-229.14.1.el7.x86_64/scripts/Makefile.build obj=/vob/mszczesn/accurev_local/NFV2_CMTS/pub/dpdk/dpdk-16.04/build/build/lib/librte_eal/linuxapp/igb_uio
>  aarch64-linux-gnu-gcc -Wp,-MD,/vob/mszczesn/accurev_local/NFV2_CMTS/pub/dpdk/dpdk-16.04/build/build/lib/librte_eal/linuxapp/igb_uio/.igb_uio.o.d  -nostdinc -isystem /opt/arm/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/5.3.1/include -I/usr/src/kernels/3.10.0-229.14.1.el7.x86_64/arch/arm64/include -Iarch/arm64/include/generated  -I/usr/src/kernels/3.10.0-229.14.1.el7.x86_64/include -Iinclude -I/usr/src/kernels/3.10.0-229.14.1.el7.x86_64/arch/arm64/include/uapi -Iarch/arm64/include/generated/uapi -I/usr/src/kernels/3.10.0-229.14.1.el7.x86_64/include/uapi -Iinclude/generated/uapi -include /usr/src/kernels/3.10.0-229.14.1.el7.x86_64/include/linux/kconfig.h   -I/vob/mszczesn/accurev_local/NFV2_CMTS/pub/dpdk/dpdk-16.04/build/build/lib/librte_eal/linuxapp/igb_uio -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -mgeneral-regs-only -Wframe-larger-than=2048 -fstack-protector-strong -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -pg -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO   -I/vob/mszczesn/accurev_local/NFV2_CMTS/pub/dpdk/dpdk-16.04/lib/librte_eal/linuxapp/igb_uio --param max-inline-insns-single=100   -I/vob/mszczesn/accurev_local/NFV2_CMTS/pub/dpdk/dpdk-16.04/build/include -Winline -Wall -Werror -include /vob/mszczesn/accurev_local/NFV2_CMTS/pub/dpdk/dpdk-16.04/build/include/rte_config.h  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(igb_uio)"  -D"KBUILD_MODNAME=KBUILD_STR(igb_uio)" -c -o /vob/mszczesn/accurev_local/NFV2_CMTS/pub/dpdk/dpdk-16.04/build/build/lib/librte_eal/linuxapp/igb_uio/.tmp_igb_uio.o /vob/mszczesn/accurev_local/NFV2_CMTS/pub/dpdk/dpdk-16.04/build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
> In file included from /usr/src/kernels/3.10.0-229.14.1.el7.x86_64/include/linux/compiler.h:54:0,
>                 from /usr/src/kernels/3.10.0-229.14.1.el7.x86_64/include/linux/ioport.h:12,
>                 from /usr/src/kernels/3.10.0-229.14.1.el7.x86_64/include/linux/device.h:16,
>                 from /vob/mszczesn/accurev_local/NFV2_CMTS/pub/dpdk/dpdk-16.04/build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:27:
> /usr/src/kernels/3.10.0-229.14.1.el7.x86_64/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
> compilation terminated.
> make[9]: *** [/vob/mszczesn/accurev_local/NFV2_CMTS/pub/dpdk/dpdk-16.04/build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o] Error 1
> make[8]: *** [_module_/vob/mszczesn/accurev_local/NFV2_CMTS/pub/dpdk/dpdk-16.04/build/build/lib/librte_eal/linuxapp/igb_uio] Error 2
> 
> mark
> 
>> On Jul 26, 2016, at 5:45 PM, Thomas Monjalon <thomas.monjalon at 6wind.com> wrote:
>> 
>> Hi,
>> 
>> 2016-07-26 19:33, Mark Szczesniak:
>>> What do I need to cross compile dpdk on an x86 platform for an arm64 target?
>> 
>> You need a cross compiler like the ones provided by Linaro:
>> 	https://releases.linaro.org/components/toolchain/gcc-linaro/
>> The version 5.3 supports ThunderX compilation.
>> 
>>> What environment variables need to be set to cross compile correctly?
>> 
>> export CROSS=aarch64-linux-gnu-
>> export PATH=$PATH:$root/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu/bin
>> make config T=arm64-thunderx-linuxapp-gcc
>> make
>> 
>>> Where can I find documentation for cross-compiling dpdk?
>> 
>> "make help" or read the programmers guide.
>> 
>>> Where can I find documentation for dpdk on arm?
>> 
>> It is missing currently.
>> 
>>> The current set of documentation only mentions other processors, but goes into details for x86.
>> 
>> Yes. Nobody contributed specific doc for ARM details.
>> 
>> 
> 



More information about the users mailing list