[dpdk-dev] DPDK 18.02 on ARM64 is broken

Hemant Agrawal hemant.agrawal at nxp.com
Thu Feb 22 18:28:49 CET 2018


Hi Marco/Gaetan,

On 2/22/2018 7:53 PM, Marco Varlese wrote:
> Hi,
> 
> I am trying to build the latest DPDK (18.02) but facing some issues on ARM64
> platform.
> 
> I'm using the option CONFIG_RTE_MAJOR_ABI to set the SONAME to 18.02.
> 
you mean you configured CONFIG_RTE_MAJOR_ABI=18.02, And did a SHARED build.
I am not seeing any error on my ubuntu m/c while doing shared build. May 
be I am missing something or it is different on suse.

> ===== START =====
> The error is connected to building the librte_pmd_dpaa.so. Please, see below:
> [  405s] /usr/lib64/gcc/aarch64-suse-linux/7/../../../../aarch64-suse-
> linux/bin/ld: warning: librte_bus_dpaa.so.18.02, needed by
> /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so, not found (try using -rpath or -rpath-link)

can  you check if "librte_bus_dpaa.so.18.02" is present in your build?

This is similar to rte_pmd_ixgbe.so.18.02 having dependency on 
librte_bus_pci.so.18.02

Are you using some rpm build script?

> [  405s] /usr/lib64/gcc/aarch64-suse-linux/7/../../../../aarch64-suse-
> linux/bin/ld: warning: librte_mempool_dpaa.so.18.02, needed by
> /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so, not found (try using -rpath or -rpath-link)

This is similar to previous, can you check the presence of 
librte_mempool_dpaa.so.18.02


regards,
Hemant
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_reset_mcast_filt
> er_table at DPDK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_alloc_pool_range at DP
> DK_18.02'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `rte_dpaa_portal_init at DPD
> K_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_add_mac_addr at DPD
> K_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_disable_rx at DPDK_
> 17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set_fc_threshold
> @DPDK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_delete_cgr at DPDK_18.
> 02'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_create_cgr at DPDK_18.
> 02'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_dqrr_consume at DPDK_1
> 7.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_global_init at DPDK_17
> .11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_promiscuous_disa
> ble at DPDK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `per_lcore_dpaa_io at DPDK_1
> 8.02'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `dpaa_svr_family at DPDK_18.
> 02'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_clear_mac_addr at D
> PDK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_enable_rx at DPDK_1
> 7.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_init_fq at DPDK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `per_lcore_held_bufs at DPDK
> _18.02'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `dpaa_logtype_pmd at DPDK_17
> .11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set_maxfrm at DPDK_
> 17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_stats_get at DPDK_1
> 7.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_dealloc_bufs_mask_h
> i at DPDK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_get_fc_threshold
> @DPDK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_loopback_disable
> @DPDK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_dequeue at DPDK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `dpaa_netcfg at DPDK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_promiscuous_enab
> le at DPDK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `bman_acquire at DPDK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set_mcast_filter
> _table at DPDK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_discard_rx_error
> s at DPDK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_set_vdq at DPDK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `rte_dpaa_portal_fq_init@
> DPDK_18.02'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_portal_poll_rx at DPDK
> _18.02'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_modify_cgr at DPDK_18.
> 02'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_create_fq at DPDK_17.1
> 1'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_query_fq_frm_cnt at DP
> DK_18.02'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `rte_dpaa_driver_register
> @DPDK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_ip_rev at DPDK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_get_fc_quanta at DP
> DK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_stats_get_all at DP
> DK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_enqueue_multi at DPDK_
> 17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set_fdoff at DPDK_1
> 7.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set_ic_params at DP
> DK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_get_fdoff at DPDK_1
> 7.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `bman_global_init at DPDK_17
> .11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_alloc_cgrid_range at D
> PDK_18.02'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_loopback_enable@
> DPDK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_stats_reset at DPDK
> _17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set_bp at DPDK_17.1
> 1'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_reserve_fqid_range@
> DPDK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_release_cgrid_range
> @DPDK_18.02'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set_fc_quanta at DP
> DK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_dealloc_bufs_mask_l
> o at DPDK_17.11'
> [  405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `rte_dpaa_bpid_info at DPDK_
> 17.11'
> [  405s] collect2: error: ld returned 1 exit status
> ===== END =====
> 
> Despite the error saying that the librte_mempool_dpaa.so.18.02 cannot be found,
> I can see it being built somewhere earlier in the compilation process. Please,
> see below:
> ===== START =====
> [  216s] gcc  -DVERSION="18.02" -L/home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-
> armv8a-linuxapp-gcc-default/lib -Wl,--version-
> script=/home/abuild/rpmbuild/BUILD/dpdk-
> 18.02/drivers/mempool/dpaa2/rte_mempool_dpaa2_version.map  -shared
> dpaa2_hw_mempool.o -z defs -lrte_bus_fslmc -lrte_eal -lrte_mempool -lrte_ring
> -Wl,-soname,librte_mempool_dpaa2.so.18.02 -o librte_mempool_dpaa2.so.18.02
> [  216s] gcc  -DVERSION="18.02" -L/home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-
> armv8a-linuxapp-gcc-default/lib -Wl,--version-
> script=/home/abuild/rpmbuild/BUILD/dpdk-
> 18.02/drivers/mempool/dpaa/rte_mempool_dpaa_version.map  -shared dpaa_mempool.o
> -z defs -lrte_bus_dpaa -lrte_eal -lrte_mempool -lrte_ring -Wl,-
> soname,librte_mempool_dpaa.so.18.02 -o librte_mempool_dpaa.so.18.02
> [  216s]   INSTALL-LIB librte_mempool_dpaa2.so.18.02
> [  216s] cp -f librte_mempool_dpaa2.so.18.02 /home/abuild/rpmbuild/BUILD/dpdk-
> 18.02/arm64-armv8a-linuxapp-gcc-default/lib
> [  216s] ln -s -f librte_mempool_dpaa2.so.18.02
> /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_mempool_dpaa2.so
> [  217s]   INSTALL-LIB librte_mempool_dpaa.so.18.02
> [  217s] cp -f librte_mempool_dpaa.so.18.02 /home/abuild/rpmbuild/BUILD/dpdk-
> 18.02/arm64-armv8a-linuxapp-gcc-default/lib
> [  217s] ln -s -f librte_mempool_dpaa.so.18.02 /home/abuild/rpmbuild/BUILD/dpdk-
> 18.02/arm64-armv8a-linuxapp-gcc-default/lib/librte_mempool_dpaa.so
> ===== END =====
> 
> 
> Cheers,
> 



More information about the dev mailing list