Re: [dpdk-dev] Build KNI module failed
From: Joakim Zhang <hidden>
Date: 2021-05-06 07:46:50
Hi Juraj, Thanks a lot for your kindly help :) The reason why I failed to build KNI module from DPDK caused by the cross-compiler which Linux kernel used. After I changed to use generic Linaro cross-compiler, instead of our internal ones, to build Linux kernel, then KNI module can pass build. It seems that our internal cross-compiler adds some compiler options. Best Regards, Joakim Zhang
-----Original Message----- From: Juraj Linkeš <redacted> Sent: 2021年4月30日 21:54 To: Joakim Zhang <redacted>; users@dpdk.org; dev@dpdk.org Subject: RE: Build KNI module failed Maybe we actually need to step back a bit and talk about versions. Which DPDK version are you using? Why are you using the old make build system instead of Meson? Support for KNI cross-compilation was only added recently to Meson and I don't know enough about the old Make system to comment on that. Jurajquoted
-----Original Message----- From: Juraj Linkeš Sent: Friday, April 30, 2021 2:18 PM To: 'Joakim Zhang' <redacted>; users@dpdk.org; dev@dpdk.org Subject: RE: Build KNI module failed Hi Joakim, When I cross-compiled KNI I only used gcc that comes with Ubuntu, e.g.: sudo apt install gcc-aarch64-linux-gnu libc6-dev-arm64-cross pkg-config- aarch64-linux-gnu Which Ubuntu version are you using? The Ubuntu18.04 gcc works fine: aarch64-linux-gnu-gcc -v gcc version 7.5.0 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) This is a bit strange, since the versions are the same/similar. I am using this meson invocation: meson kni-cross-gcc -Denable_kmods=true -Dkernel_dir=/home/jlinkes/linux -- cross-file config/arm/arm64_armv8_linux_gcc /home/jlinkes/linux is where I have my Linux git repo. Jurajquoted
-----Original Message----- From: dev <redacted> On Behalf Of Joakim Zhang Sent: Tuesday, April 27, 2021 11:43 AM To: users@dpdk.org; dev@dpdk.org Subject: [dpdk-dev] Build KNI module failed Hi guys, Is there anyone met gcc build error when build KNI module on Ubuntu to cross build ARM64? I tried both gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu and gcc-linaro- 7.5.0-2019.12-x86_64_aarch64-linux-gnu. The error log as below, any comments would be appreciated! Thanks a lot! == Build kernel/linux/kni CC [M] /home/zqq/dpdk/arm64-dpaa-linuxapp- gcc/build/kernel/linux/kni/kni_misc.o aarch64-linux-gnu-gcc: error: unrecognized command line option '-mstack- protector-guard=sysreg'; did you mean '-fstack-protector-strong'? aarch64-linux-gnu-gcc: error: unrecognized command line option '-mstack- protector-guard-reg=sp_el0'; did you mean '-fstack-protector-all'? aarch64-linux-gnu-gcc: error: unrecognized command line option '-mstack- protector-guard-offset=1096'; did you mean '-fstack-protector-strong'?quoted
scripts/Makefile.build:279: recipe for target '/home/zqq/dpdk/arm64-dpaa- linuxapp-gcc/build/kernel/linux/kni/kni_misc.o' failed I search the source code, have not found these gcc command line options. Best Regards, Joakim Zhang