Hi Luca, I'm setting up a cross compiling environment, and hit meson cross compiling issue. Could you take a look and help?
I have installed cross toolchain and numactl according to https://doc.dpdk.org/guides/linux_gsg/cross_build_dpdk_for_arm64.html Currently, cross compiling with 'make' is successful, however meson cross compiling always fail. Commands used for meson compiling: meson arm64-build --cross-file config/arm/arm64_armv8_linux_gcc ninja -C arm64-build Errors hit: aarch64-linux-gnu/bin/ld: lib/librte_eal.so.10.1: version node not found for symbol numa_run_on_node_mask@@libnuma_1.2 aarch64-linux-gnu/bin/ld: failed to set dynamic section sizes: Bad value Have you ever hit such issue, or can you indicate how to proceed? Thanks. Below is full log: ruifeng@ruifeng-VirtualBox:~/dpdk$ ninja -C arm64-build ninja: Entering directory `arm64-build' [58/1354] Linking target lib/librte_eal.so.10.1. FAILED: lib/librte_eal.so.10.1 aarch64-linux-gnu-gcc -o lib/librte_eal.so.10.1 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_bus.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_cpuflags.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_class.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_devargs.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_dev.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_errno.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_fbarray.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_hexdump.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_hypervisor.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_launch.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_lcore.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_log.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_memalloc.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_memory.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_memzone.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_options.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_proc.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_string_fns.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_tailqs.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_thread.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_timer.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_uuid.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_hotplug_mp.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_malloc_elem.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_malloc_heap.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_malloc_mp.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_rte_keepalive.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_rte_malloc.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_rte_option.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_rte_reciprocal.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_rte_service.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_arch_arm_rte_cpuflags.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_arch_arm_rte_cycles.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_common_arch_arm_rte_hypervisor.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_linux_eal_eal_alarm.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_linux_eal_eal_cpuflags.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_linux_eal_eal_debug.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_linux_eal_eal_hugepage_info.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_linux_eal_eal_interrupts.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_linux_eal_eal_memalloc.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_linux_eal_eal_lcore.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_linux_eal_eal_log.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_linux_eal_eal_thread.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_linux_eal_eal_timer.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_linux_eal_eal_vfio.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_linux_eal_eal_vfio_mp_sync.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_linux_eal_eal.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_linux_eal_eal_memory.c.o' 'lib/76b5a35@@rte_eal@sta/librte_eal_linux_eal_eal_dev.c.o' -Wl,--no-undefined -Wl,--as-needed -Wl,-O1 -shared -fPIC -Wl,--start-group -Wl,-soname,librte_eal.so.10 -Wl,--no-as-needed -pthread -lm -ldl -lnuma lib/librte_kvargs.so.1.1 -Wl,--end-group -Wl,--version-script=/home/ruifeng/dpdk/lib/librte_eal/rte_eal_version.map '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/home/ruifeng/dpdk/arm64-build/lib /home/ruifeng/mcbin_cross_compile/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.4.1/../../../../aarch64-linux-gnu/bin/ld: lib/librte_eal.so.10.1: version node not found for symbol numa_run_on_node_mask@@libnuma_1.2 /home/ruifeng/mcbin_cross_compile/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.4.1/../../../../aarch64-linux-gnu/bin/ld: failed to set dynamic section sizes: Bad value collect2: error: ld returned 1 exit status [59/1354] Compiling C object 'lib/76b5a35@@rte_cmdline@sta/librte_cmdline_cmdline.c.o'. ninja: build stopped: subcommand failed. Regards, /Ruifeng