F-Stack / f-stack

F-Stack is an user space network development kit with high performance based on DPDK, FreeBSD TCP/IP stack and coroutine API.
http://www.f-stack.org
Other
3.86k stars 898 forks source link

Error compiling F-stack on aarch64 #801

Open baipaiha opened 8 months ago

baipaiha commented 8 months ago

Trying to build F-stack on aarch64/arm64 with ubuntu 22.04 (Bluefield-2 DPU / Cortex-A72) Assuming it can be supported since i've seen commits about aarch64/arm64: c74bbd605e89bf9ff30b780902b4cf1f8349dc22

Has anyone successfully built f-stack on aarch64 ? Any idea on how to fix the call-clobbered register used for global register variable error ?

wanglailing commented 7 months ago

./machine_include/machine/pcpu.h:60:23: error: call-clobbered register used for global register variable [-Werror] 60 | register struct pcpu *pcpup __asm ("x18"); | ^~~~~ you can add: -ffixed-x18 option to lib/Makefile

wanglailing commented 7 months ago

has no member named ‘pc_prvspace’, add the pc_prvspace to struct pcpu, deal it

GeorgKreuzmayr commented 2 months ago

I am running into the same issue when trying to compile f-stack on ARM. @wanglailing: What exactly do you mean by "add the pc_prvspace to struct pcpu, deal it"? Could you elaborate on how to fix this error?

ff_freebsd_init.c: In function ‘ff_freebsd_init’:
/data/f-stack/lib/include/machine/pcpu.h:50:42: error: ‘struct pcpu’ has no member named ‘pc_prvspace’; did you mean ‘pc_device’?
 #define PCPU_SET(member, val)    (pcpup->pc_ ## member = (val))