From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hemant Agrawal Subject: Re: DPDK 18.02 on ARM64 is broken Date: Thu, 22 Feb 2018 22:58:49 +0530 Message-ID: <200ffaa2-0e91-8d09-821e-39d1e7a8b81b@nxp.com> References: <1519309427.2738.11.camel@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit To: Marco Varlese , dev@dpdk.org Return-path: Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40071.outbound.protection.outlook.com [40.107.4.71]) by dpdk.org (Postfix) with ESMTP id 198B37CFA for ; Thu, 22 Feb 2018 18:29:04 +0100 (CET) In-Reply-To: <1519309427.2738.11.camel@suse.de> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "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, >