[dpdk-dev] DPDK 18.02 on ARM64 is broken

Marco Varlese mvarlese at suse.de
Thu Feb 22 15:23:47 CET 2018


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.

===== 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)
[  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)
[  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,
-- 
Marco V

SUSE LINUX GmbH | GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg) Maxfeldstr. 5, D-90409, Nürnberg


More information about the dev mailing list