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.



Reply via email to