With some help from Dave, I was able to make the cross compilation work: https://gerrit.fd.io/r/#/c/vpp/+/21035/
I changed a bit how the PLATFORM variable is used. I don't know how it was supposed to work in the past, but it seems broken to me with the current cmake system, so I adapted it to be more suitable to the current environment. I also disabled the basic_system package installation, because it seemed like legacy code that was supplanted by make install-dep. Let me know if any of these is off the mark. Or anything else in the patch :) Juraj From: Juraj Linkeš Sent: Friday, August 2, 2019 5:05 PM To: vpp-dev@lists.fd.io Subject: VPP Cross compilation (x86_64 -> aarch64) Hi VPP Devs, I'm trying to understand how to implement support for cross compilation for aarch64. I've put together some changes that are finally cross compiling DPDK (https://gerrit.fd.io/r/#/c/vpp/+/21035/), but the compilation is failing when it doesn't find openssl headers: In file included from /home/jlinkes/vpp/build-root/build-aarch64-aarch64/external/dpdk-19.05/drivers/crypto/qat/qat_sym.c:5:0: /usr/include/openssl/evp.h:13:11: fatal error: openssl/opensslconf.h: No such file or directory # include <openssl/opensslconf.h> ^~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. I've added locally cross compiled numalib to cflags and ldflags just to see how far I'd go with compilation. It seems that I'll need to do the same for not only openssl, but also the other dpdk dependencies (if I understand it correctly, I'll need at least ipseb-mb nasm) and possibly VPP dependencies. I've seen some e-mails suggesting that I should produce my own platforms/<platform>.mk file, but not much about any other steps. I also see the CROSS_TOOLS var in build-root/Makefile (and the corresponding $(PLATFORM)_cross_tools), but I wasn't able to figure out how to use those - is that something I should look into? What are the actual dependencies that *need* to be cross compiled before attempting to cross compile vpp/dpdk? I'd like to understand a bit more about this before I attempt to possibly fit a circle into a square-shaped hole. The goal here is to build VPP and DPDK (I didn't see an option in the root Makefile that would build just VPP without DPDK, but we want to support both) for generic armv8 linux target. I'd appreciate it if someone looked at my WIP patch and told me what I'm doing wrong and what's missing. Thanks, Juraj
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13710): https://lists.fd.io/g/vpp-dev/message/13710 Mute This Topic: https://lists.fd.io/mt/32691486/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-