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.
>
>