[v1] doc: update Linux gsg for ARM64 cross compile

Message ID 1557909683-42718-1-git-send-email-ruifeng.wang@arm.com
State Accepted, archived
Headers show
Series
  • [v1] doc: update Linux gsg for ARM64 cross compile
Related show

Checks

Context Check Description
ci/Intel-compilation success Compilation OK
ci/checkpatch success coding style OK

Commit Message

Ruifeng Wang May 15, 2019, 8:41 a.m.
libnuma.so is needed to augment the cross toolchain with NUMA support.
This fixed meson cross compiling issue.

Command used:
meson arm64-build --cross-file config/arm/arm64_armv8_linux_gcc
ninja -C arm64-build

Compiling error:
.../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
collect2: error: ld returned 1 exit status
[58/1370] Compiling C object 'lib/76b5a35@@rte_cmdline@sta/
librte_cmdline_cmdline_parse_string.c.o'.
ninja: build stopped: subcommand failed.

Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
---
 doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst | 1 +
 1 file changed, 1 insertion(+)

Comments

Jerin Jacob Kollanukkaran June 4, 2019, 2:43 p.m. | #1
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Ruifeng Wang
> Sent: Wednesday, May 15, 2019 2:11 PM
> To: bruce.richardson@intel.com; konstantin.ananyev@intel.com
> Cc: dev@dpdk.org; Honnappa.Nagarahalli@arm.com; nd@arm.com; Ruifeng
> Wang <ruifeng.wang@arm.com>
> Subject: [dpdk-dev] [PATCH v1] doc: update Linux gsg for ARM64 cross
> compile
> 
> libnuma.so is needed to augment the cross toolchain with NUMA support.
> This fixed meson cross compiling issue.
> 
> Command used:
> meson arm64-build --cross-file config/arm/arm64_armv8_linux_gcc ninja -C
> arm64-build
> 
> Compiling error:
> .../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
> collect2: error: ld returned 1 exit status [58/1370] Compiling C object
> 'lib/76b5a35@@rte_cmdline@sta/ librte_cmdline_cmdline_parse_string.c.o'.
> ninja: build stopped: subcommand failed.
> 
> Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
> Reviewed-by: Gavin Hu <gavin.hu@arm.com>

Acked-by: Jerin Jacob <jerinj@marvell.com>
Thomas Monjalon June 5, 2019, 10:34 a.m. | #2
> > libnuma.so is needed to augment the cross toolchain with NUMA support.
> > This fixed meson cross compiling issue.
> > 
> > Command used:
> > meson arm64-build --cross-file config/arm/arm64_armv8_linux_gcc ninja -C
> > arm64-build
> > 
> > Compiling error:
> > .../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
> > collect2: error: ld returned 1 exit status [58/1370] Compiling C object
> > 'lib/76b5a35@@rte_cmdline@sta/ librte_cmdline_cmdline_parse_string.c.o'.
> > ninja: build stopped: subcommand failed.
> > 
> > Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
> > Reviewed-by: Gavin Hu <gavin.hu@arm.com>
> 
> Acked-by: Jerin Jacob <jerinj@marvell.com>

Applied with following lines for backport:

Fixes: 01add9da25cd ("doc: add cross compiling guide")
Cc: stable@dpdk.org

Patch

diff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
index bba9b92..28a8e09 100644
--- a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
+++ b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
@@ -73,6 +73,7 @@  Copy the NUMA header files and lib to the cross compiler's directories:
 
    cp <numa_install_dir>/include/numa*.h <cross_install_dir>/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/bin/../aarch64-linux-gnu/libc/usr/include/
    cp <numa_install_dir>/lib/libnuma.a <cross_install_dir>/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/8.2/
+   cp <numa_install_dir>/lib/libnuma.so <cross_install_dir>/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/8.2/
 
 .. _configure_and_cross_compile_dpdk_build: