* [dpdk-dev] DPDK 18.02 on ARM64 is broken @ 2018-02-22 14:23 Marco Varlese 2018-02-22 14:33 ` Gaëtan Rivet 2018-02-22 17:28 ` Hemant Agrawal 0 siblings, 2 replies; 13+ messages in thread From: Marco Varlese @ 2018-02-22 14:23 UTC (permalink / raw) To: dev 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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] DPDK 18.02 on ARM64 is broken 2018-02-22 14:23 [dpdk-dev] DPDK 18.02 on ARM64 is broken Marco Varlese @ 2018-02-22 14:33 ` Gaëtan Rivet 2018-02-22 17:28 ` Hemant Agrawal 1 sibling, 0 replies; 13+ messages in thread From: Gaëtan Rivet @ 2018-02-22 14:33 UTC (permalink / raw) To: Marco Varlese; +Cc: dev Hi Marco, On Thu, Feb 22, 2018 at 03:23:47PM +0100, 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. > Just to put things in their context for the DPAA maintainers (who may have missed the IRC conversation): the error occurs with SHARED=y. Some symbols are not properly exported it seems. <snip> > > > 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 Regards, -- Gaëtan Rivet 6WIND ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] DPDK 18.02 on ARM64 is broken 2018-02-22 14:23 [dpdk-dev] DPDK 18.02 on ARM64 is broken Marco Varlese 2018-02-22 14:33 ` Gaëtan Rivet @ 2018-02-22 17:28 ` Hemant Agrawal 2018-02-22 20:00 ` Marco Varlese 1 sibling, 1 reply; 13+ messages in thread From: Hemant Agrawal @ 2018-02-22 17:28 UTC (permalink / raw) To: Marco Varlese, dev 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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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, > ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] DPDK 18.02 on ARM64 is broken 2018-02-22 17:28 ` Hemant Agrawal @ 2018-02-22 20:00 ` Marco Varlese 2018-02-22 22:53 ` [dpdk-dev] [PATCH 1/2] app/testpmd: fix DPAA shared library dependency Thomas Monjalon 0 siblings, 1 reply; 13+ messages in thread From: Marco Varlese @ 2018-02-22 20:00 UTC (permalink / raw) To: Hemant Agrawal, dev Dear Hemant, On Thu, 2018-02-22 at 22:58 +0530, Hemant Agrawal wrote: > 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. Right; however, the issue happens even by just using the SHARED option... no need to have the RTE_MAJOR_ABI to reproduce. > 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. The exact same issue was reproduced by Thomas Monjalon who very kindly assisted me over #dpdk channel on IRC. I don't think he runs openSUSE distribution; howevere, he could confirm it just to be sure... > > > ===== 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 If you read my email fully, you'll see that I point out the fact that the .so are built... just go down at the bottom of my previous email. > > 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@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@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_po > > rtal_init@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@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_dis > > able_rx@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@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@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_c > > onsume@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@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@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_d > > paa_io@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_fa > > mily@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_cle > > ar_mac_addr@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_ena > > ble_rx@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_f > > q@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_h > > eld_bufs@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_logtyp > > e_pmd@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@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_sta > > ts_get@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@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_dequeu > > e@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 > > @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@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_acquir > > e@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@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@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_vd > > q@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@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@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@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@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 > > @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@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_sta > > ts_get_all@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_enqueu > > e_multi@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@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@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@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@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@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_sta > > ts_reset@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@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@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@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_bp > > id_info@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, > > > > ^ permalink raw reply [flat|nested] 13+ messages in thread
* [dpdk-dev] [PATCH 1/2] app/testpmd: fix DPAA shared library dependency 2018-02-22 20:00 ` Marco Varlese @ 2018-02-22 22:53 ` Thomas Monjalon 2018-02-22 22:53 ` [dpdk-dev] [PATCH 2/2] mk: clean up static link with DPAA libraries Thomas Monjalon ` (2 more replies) 0 siblings, 3 replies; 13+ messages in thread From: Thomas Monjalon @ 2018-02-22 22:53 UTC (permalink / raw) To: hemant.agrawal, mvarlese; +Cc: dev, stable The dynamic link is broken for ARM platform because the dependencies of the DPAA PMD are not declared. Fixes: 83c82e15e1c0 ("app/testpmd: support loopback config for DPAA") Cc: stable@dpdk.org Reported-by: Marco Varlese <mvarlese@suse.de> Signed-off-by: Thomas Monjalon <thomas@monjalon.net> --- app/test-pmd/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile index ed588ab6d..31646c113 100644 --- a/app/test-pmd/Makefile +++ b/app/test-pmd/Makefile @@ -46,6 +46,8 @@ endif ifeq ($(CONFIG_RTE_LIBRTE_DPAA_PMD),y) LDLIBS += -lrte_pmd_dpaa +LDLIBS += -lrte_bus_dpaa +LDLIBS += -lrte_mempool_dpaa endif ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_PMD),y) -- 2.15.1 ^ permalink raw reply [flat|nested] 13+ messages in thread
* [dpdk-dev] [PATCH 2/2] mk: clean up static link with DPAA libraries 2018-02-22 22:53 ` [dpdk-dev] [PATCH 1/2] app/testpmd: fix DPAA shared library dependency Thomas Monjalon @ 2018-02-22 22:53 ` Thomas Monjalon 2018-02-23 6:25 ` Hemant Agrawal 2018-02-23 5:15 ` [dpdk-dev] [PATCH 1/2] app/testpmd: fix DPAA shared library dependency Hemant Agrawal 2018-02-23 9:58 ` [dpdk-dev] [PATCH v2 " Hemant Agrawal 2 siblings, 1 reply; 13+ messages in thread From: Thomas Monjalon @ 2018-02-22 22:53 UTC (permalink / raw) To: hemant.agrawal, mvarlese; +Cc: dev The bus and mempool dependencies should be declared after the PMD libraries needing them. Moreover there is no need to disable the PMDs at the Makefile level, in case the dependencies are not met. Such dependencies should be handled at configuration time. The other side effect of this clean-up is to take into account the mempool option CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL. Signed-off-by: Thomas Monjalon <thomas@monjalon.net> --- mk/rte.app.mk | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/mk/rte.app.mk b/mk/rte.app.mk index 3eb41d176..b71a71663 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -127,11 +127,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += -lrte_pmd_bnx2x -lz _LDLIBS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += -lrte_pmd_bnxt _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += -lrte_pmd_bond _LDLIBS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += -lrte_pmd_cxgbe -ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y) -_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += -lrte_bus_dpaa -_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += -lrte_mempool_dpaa _LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += -lrte_pmd_dpaa -endif _LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += -lrte_pmd_dpaa2 _LDLIBS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += -lrte_pmd_e1000 _LDLIBS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += -lrte_pmd_ena @@ -204,16 +200,8 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += -lrte_pmd_armv8 _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += -L$(ARMV8_CRYPTO_LIB_PATH) -larmv8_crypto _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_MRVL_CRYPTO) += -L$(LIBMUSDK_PATH)/lib -lrte_pmd_mrvl_crypto -lmusdk _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += -lrte_pmd_crypto_scheduler -ifeq ($(CONFIG_RTE_LIBRTE_FSLMC_BUS),y) _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += -lrte_pmd_dpaa2_sec -_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += -lrte_mempool_dpaa2 -_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += -lrte_bus_fslmc -endif # CONFIG_RTE_LIBRTE_FSLMC_BUS - -ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y) -_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += -lrte_bus_dpaa _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += -lrte_pmd_dpaa_sec -endif # CONFIG_RTE_LIBRTE_DPAA_BUS endif # CONFIG_RTE_LIBRTE_CRYPTODEV @@ -232,10 +220,10 @@ ifeq ($(CONFIG_RTE_LIBRTE_RAWDEV),y) _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV) += -lrte_pmd_skeleton_rawdev endif # CONFIG_RTE_LIBRTE_RAWDEV -ifeq ($(CONFIG_RTE_LIBRTE_DPAA2_PMD),y) -_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += -lrte_bus_fslmc -_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += -lrte_mempool_dpaa2 -endif # CONFIG_RTE_LIBRTE_DPAA2_PMD +_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += -lrte_bus_dpaa +_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += -lrte_mempool_dpaa +_LDLIBS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += -lrte_bus_fslmc +_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) += -lrte_mempool_dpaa2 endif # !CONFIG_RTE_BUILD_SHARED_LIBS -- 2.15.1 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH 2/2] mk: clean up static link with DPAA libraries 2018-02-22 22:53 ` [dpdk-dev] [PATCH 2/2] mk: clean up static link with DPAA libraries Thomas Monjalon @ 2018-02-23 6:25 ` Hemant Agrawal 2018-02-23 9:25 ` Thomas Monjalon 0 siblings, 1 reply; 13+ messages in thread From: Hemant Agrawal @ 2018-02-23 6:25 UTC (permalink / raw) To: Thomas Monjalon, mvarlese; +Cc: dev Hi Thomas, On 2/23/2018 4:23 AM, Thomas Monjalon wrote: > The bus and mempool dependencies should be declared after the PMD > libraries needing them. > > Moreover there is no need to disable the PMDs at the Makefile level, > in case the dependencies are not met. > Such dependencies should be handled at configuration time. > > The other side effect of this clean-up is to take into account > the mempool option CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL. > > Signed-off-by: Thomas Monjalon <thomas@monjalon.net> > --- > mk/rte.app.mk | 20 ++++---------------- > 1 file changed, 4 insertions(+), 16 deletions(-) This patch looks good, however I think we (NXP) need to also set some dependency check in makefile to avoid dpaaX PMD compilations, if bus is not available. I am working on a patch for the same. Regards, Hemant > > diff --git a/mk/rte.app.mk b/mk/rte.app.mk > index 3eb41d176..b71a71663 100644 > --- a/mk/rte.app.mk > +++ b/mk/rte.app.mk > @@ -127,11 +127,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += -lrte_pmd_bnx2x -lz > _LDLIBS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += -lrte_pmd_bnxt > _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += -lrte_pmd_bond > _LDLIBS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += -lrte_pmd_cxgbe > -ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y) > -_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += -lrte_bus_dpaa > -_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += -lrte_mempool_dpaa > _LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += -lrte_pmd_dpaa > -endif > _LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += -lrte_pmd_dpaa2 > _LDLIBS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += -lrte_pmd_e1000 > _LDLIBS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += -lrte_pmd_ena > @@ -204,16 +200,8 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += -lrte_pmd_armv8 > _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += -L$(ARMV8_CRYPTO_LIB_PATH) -larmv8_crypto > _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_MRVL_CRYPTO) += -L$(LIBMUSDK_PATH)/lib -lrte_pmd_mrvl_crypto -lmusdk > _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += -lrte_pmd_crypto_scheduler > -ifeq ($(CONFIG_RTE_LIBRTE_FSLMC_BUS),y) > _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += -lrte_pmd_dpaa2_sec > -_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += -lrte_mempool_dpaa2 > -_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += -lrte_bus_fslmc > -endif # CONFIG_RTE_LIBRTE_FSLMC_BUS > - > -ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y) > -_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += -lrte_bus_dpaa > _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += -lrte_pmd_dpaa_sec > -endif # CONFIG_RTE_LIBRTE_DPAA_BUS > > endif # CONFIG_RTE_LIBRTE_CRYPTODEV > > @@ -232,10 +220,10 @@ ifeq ($(CONFIG_RTE_LIBRTE_RAWDEV),y) > _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV) += -lrte_pmd_skeleton_rawdev > endif # CONFIG_RTE_LIBRTE_RAWDEV > > -ifeq ($(CONFIG_RTE_LIBRTE_DPAA2_PMD),y) > -_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += -lrte_bus_fslmc > -_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += -lrte_mempool_dpaa2 > -endif # CONFIG_RTE_LIBRTE_DPAA2_PMD > +_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += -lrte_bus_dpaa > +_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += -lrte_mempool_dpaa > +_LDLIBS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += -lrte_bus_fslmc > +_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) += -lrte_mempool_dpaa2 > > endif # !CONFIG_RTE_BUILD_SHARED_LIBS > > ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH 2/2] mk: clean up static link with DPAA libraries 2018-02-23 6:25 ` Hemant Agrawal @ 2018-02-23 9:25 ` Thomas Monjalon 2018-02-23 10:02 ` Hemant Agrawal 0 siblings, 1 reply; 13+ messages in thread From: Thomas Monjalon @ 2018-02-23 9:25 UTC (permalink / raw) To: Hemant Agrawal; +Cc: dev, mvarlese 23/02/2018 07:25, Hemant Agrawal: > Hi Thomas, > On 2/23/2018 4:23 AM, Thomas Monjalon wrote: > > The bus and mempool dependencies should be declared after the PMD > > libraries needing them. > > > > Moreover there is no need to disable the PMDs at the Makefile level, > > in case the dependencies are not met. > > Such dependencies should be handled at configuration time. > > > > The other side effect of this clean-up is to take into account > > the mempool option CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL. > > > > Signed-off-by: Thomas Monjalon <thomas@monjalon.net> > > --- > > mk/rte.app.mk | 20 ++++---------------- > > 1 file changed, 4 insertions(+), 16 deletions(-) > > This patch looks good, however I think we (NXP) need to also set some > dependency check in makefile to avoid dpaaX PMD compilations, if bus is > not available. I am working on a patch for the same. Why do you think such check is necessary? If the PMD is enable but not the bus, it is a configuration error. A good configuration system would resolve it automatically, but currently we do the configuration manually, so the user must fix its configuration file. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH 2/2] mk: clean up static link with DPAA libraries 2018-02-23 9:25 ` Thomas Monjalon @ 2018-02-23 10:02 ` Hemant Agrawal 0 siblings, 0 replies; 13+ messages in thread From: Hemant Agrawal @ 2018-02-23 10:02 UTC (permalink / raw) To: Thomas Monjalon; +Cc: dev, mvarlese On 2/23/2018 2:55 PM, Thomas Monjalon wrote: > 23/02/2018 07:25, Hemant Agrawal: >> Hi Thomas, >> On 2/23/2018 4:23 AM, Thomas Monjalon wrote: >>> The bus and mempool dependencies should be declared after the PMD >>> libraries needing them. >>> >>> Moreover there is no need to disable the PMDs at the Makefile level, >>> in case the dependencies are not met. >>> Such dependencies should be handled at configuration time. >>> >>> The other side effect of this clean-up is to take into account >>> the mempool option CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL. >>> >>> Signed-off-by: Thomas Monjalon <thomas@monjalon.net> >>> --- >>> mk/rte.app.mk | 20 ++++---------------- >>> 1 file changed, 4 insertions(+), 16 deletions(-) >> >> This patch looks good, however I think we (NXP) need to also set some >> dependency check in makefile to avoid dpaaX PMD compilations, if bus is >> not available. I am working on a patch for the same. > > Why do you think such check is necessary? > If the PMD is enable but not the bus, it is a configuration error. > A good configuration system would resolve it automatically, > but currently we do the configuration manually, so the user must fix > its configuration file. > I agree with your comment. That is the ideal approach. However, just to make it convenient and to support cases like VFIO disable, I have added few checks in my v2. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH 1/2] app/testpmd: fix DPAA shared library dependency 2018-02-22 22:53 ` [dpdk-dev] [PATCH 1/2] app/testpmd: fix DPAA shared library dependency Thomas Monjalon 2018-02-22 22:53 ` [dpdk-dev] [PATCH 2/2] mk: clean up static link with DPAA libraries Thomas Monjalon @ 2018-02-23 5:15 ` Hemant Agrawal 2018-02-23 9:58 ` [dpdk-dev] [PATCH v2 " Hemant Agrawal 2 siblings, 0 replies; 13+ messages in thread From: Hemant Agrawal @ 2018-02-23 5:15 UTC (permalink / raw) To: Thomas Monjalon, mvarlese; +Cc: dev, stable On 2/23/2018 4:23 AM, Thomas Monjalon wrote: > The dynamic link is broken for ARM platform because the dependencies > of the DPAA PMD are not declared. > > Fixes: 83c82e15e1c0 ("app/testpmd: support loopback config for DPAA") > Cc: stable@dpdk.org > > Reported-by: Marco Varlese <mvarlese@suse.de> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net> > --- Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com> ^ permalink raw reply [flat|nested] 13+ messages in thread
* [dpdk-dev] [PATCH v2 1/2] app/testpmd: fix DPAA shared library dependency 2018-02-22 22:53 ` [dpdk-dev] [PATCH 1/2] app/testpmd: fix DPAA shared library dependency Thomas Monjalon 2018-02-22 22:53 ` [dpdk-dev] [PATCH 2/2] mk: clean up static link with DPAA libraries Thomas Monjalon 2018-02-23 5:15 ` [dpdk-dev] [PATCH 1/2] app/testpmd: fix DPAA shared library dependency Hemant Agrawal @ 2018-02-23 9:58 ` Hemant Agrawal 2018-02-23 9:58 ` [dpdk-dev] [PATCH v2 2/2] mk: fix the build dependency structure for dpaaX Hemant Agrawal 2 siblings, 1 reply; 13+ messages in thread From: Hemant Agrawal @ 2018-02-23 9:58 UTC (permalink / raw) To: dev; +Cc: thomas, mvarlese, yskoh, stable The dynamic link is broken for ARM platform because the dependencies of the DPAA PMD are not declared. Fixes: 83c82e15e1c0 ("app/testpmd: support loopback config for DPAA") Cc: stable@dpdk.org Reported-by: Marco Varlese <mvarlese@suse.de> Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> --- app/test-pmd/Makefile | 4 +++- app/test-pmd/cmdline.c | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile index ed588ab..60ae9b9 100644 --- a/app/test-pmd/Makefile +++ b/app/test-pmd/Makefile @@ -44,8 +44,10 @@ ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y) LDLIBS += -lrte_pmd_bond endif -ifeq ($(CONFIG_RTE_LIBRTE_DPAA_PMD),y) +ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS)$(CONFIG_RTE_LIBRTE_DPAA_PMD),yy) LDLIBS += -lrte_pmd_dpaa +LDLIBS += -lrte_bus_dpaa +LDLIBS += -lrte_mempool_dpaa endif ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_PMD),y) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index d1dc1de..40b31ad 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -60,7 +60,7 @@ #include <rte_eth_bond.h> #include <rte_eth_bond_8023ad.h> #endif -#ifdef RTE_LIBRTE_DPAA_PMD +#if defined RTE_LIBRTE_DPAA_BUS && defined RTE_LIBRTE_DPAA_PMD #include <rte_pmd_dpaa.h> #endif #ifdef RTE_LIBRTE_IXGBE_PMD @@ -12861,7 +12861,7 @@ cmd_set_tx_loopback_parsed( if (ret == -ENOTSUP) ret = rte_pmd_bnxt_set_tx_loopback(res->port_id, is_on); #endif -#ifdef RTE_LIBRTE_DPAA_PMD +#if defined RTE_LIBRTE_DPAA_BUS && defined RTE_LIBRTE_DPAA_PMD if (ret == -ENOTSUP) ret = rte_pmd_dpaa_set_tx_loopback(res->port_id, is_on); #endif -- 2.7.4 ^ permalink raw reply [flat|nested] 13+ messages in thread
* [dpdk-dev] [PATCH v2 2/2] mk: fix the build dependency structure for dpaaX 2018-02-23 9:58 ` [dpdk-dev] [PATCH v2 " Hemant Agrawal @ 2018-02-23 9:58 ` Hemant Agrawal 2018-03-13 23:36 ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon 0 siblings, 1 reply; 13+ messages in thread From: Hemant Agrawal @ 2018-02-23 9:58 UTC (permalink / raw) To: dev; +Cc: thomas, mvarlese, yskoh, stable This patch fixes the build dependency of various dpaaX components, when the dpaa or fslmc bus is disabled, or VFIO is disabled. Fixes: 1ee9569576f6 ("config: enable dpaaX drivers for generic ARMv8") Cc: stable@dpdk.org Reported-by: Yongseok Koh <yskoh@mellanox.com> Suggested-by: Thomas Monjalon <thomas@monjalon.net> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> --- drivers/bus/Makefile | 2 ++ drivers/bus/fslmc/Makefile | 4 ---- drivers/crypto/Makefile | 4 ++++ drivers/event/Makefile | 4 ++++ drivers/mempool/Makefile | 4 ++++ drivers/net/Makefile | 4 ++++ mk/rte.app.mk | 29 ++++++++++++++++++----------- 7 files changed, 36 insertions(+), 15 deletions(-) diff --git a/drivers/bus/Makefile b/drivers/bus/Makefile index 7ef2593..c251b65 100644 --- a/drivers/bus/Makefile +++ b/drivers/bus/Makefile @@ -4,7 +4,9 @@ include $(RTE_SDK)/mk/rte.vars.mk DIRS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += dpaa +ifeq ($(CONFIG_RTE_EAL_VFIO),y) DIRS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += fslmc +endif DIRS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += pci DIRS-$(CONFIG_RTE_LIBRTE_VDEV_BUS) += vdev diff --git a/drivers/bus/fslmc/Makefile b/drivers/bus/fslmc/Makefile index de237f0..952b4c0 100644 --- a/drivers/bus/fslmc/Makefile +++ b/drivers/bus/fslmc/Makefile @@ -9,10 +9,6 @@ include $(RTE_SDK)/mk/rte.vars.mk # LIB = librte_bus_fslmc.a -ifeq ($(CONFIG_RTE_LIBRTE_DPAA2_PMD),y) -CONFIG_RTE_LIBRTE_FSLMC_BUS = $(CONFIG_RTE_LIBRTE_DPAA2_PMD) -endif - CFLAGS += -DALLOW_EXPERIMENTAL_API ifeq ($(CONFIG_RTE_LIBRTE_DPAA2_DEBUG_INIT),y) CFLAGS += -O0 -g diff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile index 628bd14..26e503e 100644 --- a/drivers/crypto/Makefile +++ b/drivers/crypto/Makefile @@ -14,7 +14,11 @@ DIRS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += kasumi DIRS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += zuc DIRS-$(CONFIG_RTE_LIBRTE_PMD_MRVL_CRYPTO) += mrvl DIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += null +ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy) DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += dpaa2_sec +endif +ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y) DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += dpaa_sec +endif include $(RTE_SDK)/mk/rte.subdir.mk diff --git a/drivers/event/Makefile b/drivers/event/Makefile index c3d89a1..f301d8d 100644 --- a/drivers/event/Makefile +++ b/drivers/event/Makefile @@ -7,8 +7,12 @@ include $(RTE_SDK)/mk/rte.vars.mk DIRS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV) += skeleton DIRS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += octeontx +ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y) DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV) += dpaa +endif +ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy) DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2 +endif DIRS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl include $(RTE_SDK)/mk/rte.subdir.mk diff --git a/drivers/mempool/Makefile b/drivers/mempool/Makefile index aae2cb1..fc8b73b 100644 --- a/drivers/mempool/Makefile +++ b/drivers/mempool/Makefile @@ -3,8 +3,12 @@ include $(RTE_SDK)/mk/rte.vars.mk +ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y) DIRS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += dpaa +endif +ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy) DIRS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) += dpaa2 +endif DIRS-$(CONFIG_RTE_DRIVER_MEMPOOL_RING) += ring DIRS-$(CONFIG_RTE_DRIVER_MEMPOOL_STACK) += stack DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += octeontx diff --git a/drivers/net/Makefile b/drivers/net/Makefile index e112732..39eb550 100644 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile @@ -15,8 +15,12 @@ DIRS-$(CONFIG_RTE_LIBRTE_AVP_PMD) += avp DIRS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x DIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += bonding DIRS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbe +ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y) DIRS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += dpaa +endif +ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy) DIRS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2 +endif DIRS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000 DIRS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena DIRS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic diff --git a/mk/rte.app.mk b/mk/rte.app.mk index 3eb41d1..94525dc 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -113,11 +113,21 @@ endif _LDLIBS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += -lrte_bus_pci _LDLIBS-$(CONFIG_RTE_LIBRTE_VDEV_BUS) += -lrte_bus_vdev +_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += -lrte_bus_dpaa +ifeq ($(CONFIG_RTE_EAL_VFIO),y) +_LDLIBS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += -lrte_bus_fslmc +endif ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),n) # plugins (link only if static libraries) _LDLIBS-$(CONFIG_RTE_DRIVER_MEMPOOL_STACK) += -lrte_mempool_stack +ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y) +_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += -lrte_mempool_dpaa +endif +ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy) +_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) += -lrte_mempool_dpaa2 +endif _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += -lrte_pmd_af_packet _LDLIBS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += -lrte_pmd_ark @@ -128,11 +138,11 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += -lrte_pmd_bnxt _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += -lrte_pmd_bond _LDLIBS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += -lrte_pmd_cxgbe ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y) -_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += -lrte_bus_dpaa -_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += -lrte_mempool_dpaa _LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += -lrte_pmd_dpaa endif +ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy) _LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += -lrte_pmd_dpaa2 +endif _LDLIBS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += -lrte_pmd_e1000 _LDLIBS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += -lrte_pmd_ena _LDLIBS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += -lrte_pmd_enic @@ -204,14 +214,10 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += -lrte_pmd_armv8 _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += -L$(ARMV8_CRYPTO_LIB_PATH) -larmv8_crypto _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_MRVL_CRYPTO) += -L$(LIBMUSDK_PATH)/lib -lrte_pmd_mrvl_crypto -lmusdk _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += -lrte_pmd_crypto_scheduler -ifeq ($(CONFIG_RTE_LIBRTE_FSLMC_BUS),y) +ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy) _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += -lrte_pmd_dpaa2_sec -_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += -lrte_mempool_dpaa2 -_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += -lrte_bus_fslmc endif # CONFIG_RTE_LIBRTE_FSLMC_BUS - ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y) -_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += -lrte_bus_dpaa _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += -lrte_pmd_dpaa_sec endif # CONFIG_RTE_LIBRTE_DPAA_BUS @@ -221,8 +227,13 @@ ifeq ($(CONFIG_RTE_LIBRTE_EVENTDEV),y) _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV) += -lrte_pmd_skeleton_event _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += -lrte_pmd_sw_event _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += -lrte_pmd_octeontx_ssovf +ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y) _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV) += -lrte_pmd_dpaa_event +endif # CONFIG_RTE_LIBRTE_DPAA_BUS +ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy) _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += -lrte_pmd_dpaa2_event +endif # CONFIG_RTE_LIBRTE_FSLMC_BUS + _LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += -lrte_mempool_octeontx _LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += -lrte_pmd_octeontx _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += -lrte_pmd_opdl_event @@ -232,10 +243,6 @@ ifeq ($(CONFIG_RTE_LIBRTE_RAWDEV),y) _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV) += -lrte_pmd_skeleton_rawdev endif # CONFIG_RTE_LIBRTE_RAWDEV -ifeq ($(CONFIG_RTE_LIBRTE_DPAA2_PMD),y) -_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += -lrte_bus_fslmc -_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += -lrte_mempool_dpaa2 -endif # CONFIG_RTE_LIBRTE_DPAA2_PMD endif # !CONFIG_RTE_BUILD_SHARED_LIBS -- 2.7.4 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH v2 2/2] mk: fix the build dependency structure for dpaaX 2018-02-23 9:58 ` [dpdk-dev] [PATCH v2 2/2] mk: fix the build dependency structure for dpaaX Hemant Agrawal @ 2018-03-13 23:36 ` Thomas Monjalon 0 siblings, 0 replies; 13+ messages in thread From: Thomas Monjalon @ 2018-03-13 23:36 UTC (permalink / raw) To: Hemant Agrawal; +Cc: stable, dev, mvarlese, yskoh 23/02/2018 10:58, Hemant Agrawal: > This patch fixes the build dependency of various > dpaaX components, when the dpaa or fslmc bus is disabled, > or VFIO is disabled. > > Fixes: 1ee9569576f6 ("config: enable dpaaX drivers for generic ARMv8") > Cc: stable@dpdk.org > > Reported-by: Yongseok Koh <yskoh@mellanox.com> > Suggested-by: Thomas Monjalon <thomas@monjalon.net> > Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> I am not satisfied by handling the bus dependencies all over the place, but I understand it is convenient. Considering that this build system is dying (in favor of meson's one), Series applied, thanks. ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2018-03-13 23:37 UTC | newest] Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-02-22 14:23 [dpdk-dev] DPDK 18.02 on ARM64 is broken Marco Varlese 2018-02-22 14:33 ` Gaëtan Rivet 2018-02-22 17:28 ` Hemant Agrawal 2018-02-22 20:00 ` Marco Varlese 2018-02-22 22:53 ` [dpdk-dev] [PATCH 1/2] app/testpmd: fix DPAA shared library dependency Thomas Monjalon 2018-02-22 22:53 ` [dpdk-dev] [PATCH 2/2] mk: clean up static link with DPAA libraries Thomas Monjalon 2018-02-23 6:25 ` Hemant Agrawal 2018-02-23 9:25 ` Thomas Monjalon 2018-02-23 10:02 ` Hemant Agrawal 2018-02-23 5:15 ` [dpdk-dev] [PATCH 1/2] app/testpmd: fix DPAA shared library dependency Hemant Agrawal 2018-02-23 9:58 ` [dpdk-dev] [PATCH v2 " Hemant Agrawal 2018-02-23 9:58 ` [dpdk-dev] [PATCH v2 2/2] mk: fix the build dependency structure for dpaaX Hemant Agrawal 2018-03-13 23:36 ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).