[dpdk-users] crosscompiling dpdk

Mark Szczesniak mark.szczesniak at casa-systems.com
Sun Jul 31 16:42:38 CEST 2016


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