Thread (4 messages) 4 messages, 2 authors, 2021-05-06

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.

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

Juraj
quoted
-----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
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help