18/10/2022 12:52, Zhangfei Gao: > > On 2022/10/18 下午6:07, Zhangfei Gao wrote: > > Hi, Akhil > > > >> > >> On 2022/10/17 下午3:02, Akhil Goyal wrote: > >>> > >>> Hi everyone, > >>> > >>> We have a new crypto PMD submitted on ML > >>> (http://patches.dpdk.org/project/dpdk/cover/20221008083747.6559-1-zhangfei....@linaro.org/) > >>> > >>> This PMD is dependent on an external library which needs to be cross > >>> compiled for ARM on x86. > >>> > >>> It mandatorily need “numactl” also cross-compiled and instead of > >>> using pkg-config of libnuma, it need the library and headers to be > >>> copied manually to aarch toolchain. > >>> > >>> And if that is also done, it is not generating pkg-config which DPDK > >>> can use to compile the PMD. > >>> > >> > >> Thanks for the guidance > >> > >> We are trying to provide pkgconfig file for uadk libs > >> https://github.com/Linaro/uadk/pull/513 > >> > >> And have fixed the x86 local build. > >> https://github.com/Linaro/uadk/pull/512 > > > > Under this git pull, I have verified building and installing dpdk on > > x86 with this diff to switch to pkg-config > > > > diff --git a/drivers/crypto/uadk/meson.build > > b/drivers/crypto/uadk/meson.build > > index dda6c6b257..f6fae0a239 100644 > > --- a/drivers/crypto/uadk/meson.build > > +++ b/drivers/crypto/uadk/meson.build > > @@ -8,18 +8,12 @@ if not is_linux > > subdir_done() > > endif > > > > -if arch_subdir != 'arm' or not dpdk_conf.get('RTE_ARCH_64') > > - build = false > > - reason = 'only supported on aarch64' > > - subdir_done() > > -endif > > - > > sources = files( > > 'uadk_crypto_pmd.c', > > ) > > > > deps += 'bus_vdev' > > -dep = cc.find_library('libwd_crypto', required: false) > > +dep = dependency('libwd_crypto', required: false, method: 'pkg-config') > > if not dep.found() > > build = false > > reason = 'missing dependency, "libwd_crypto"' > > @@ -27,7 +21,7 @@ else > > ext_deps += dep > > endif > > > > -dep = cc.find_library('libwd', required: false) > > +dep = dependency('libwd', required: false, method: 'pkg-config') > > if not dep.found() > > build = false > > reason = 'missing dependency, "libwd"' > > > > > > One uncertainty is numa, "Requires: numa", > > This requires numa.pc has to be installed, so numa only can be > > installed from source code (make install). > > While apt-get install libnuma-dev does not install numa.pc, so system > > can not search numa. > > So do we have to build numa from source code? > > By the way. > > When trying to use +Libs.Private: -lnuma, > I found Even remove building uadk, the dpdk fails if no numa.pc, though > apt-get insall libnuma-dev > > /usr/bin/ld: lib/librte_eal.so.23.0: version node not found for symbol > numa_run_on_node_mask@@libnuma_1.2 > /usr/bin/ld: failed to set dynamic section sizes: bad value > collect2: error: ld returned 1 exit status > [2813/3314] Compiling C object > 'drivers/a715181@@tmp_rte_event_cnxk@sta/event_cnxk_tx_cn10k_tx_112_127_seg.c.o'. > ninja: build stopped: subcommand failed.
libnuma is a general requirement of DPDK. numa.pc should be installed by the NUMA package. Maybe a problem with your distribution.