[dpdk-dev] Windows community call: MoM 2021-08-04

Bruce Richardson bruce.richardson at intel.com
Thu Aug 19 11:12:45 CEST 2021


On Wed, Aug 18, 2021 at 04:40:02PM -0700, William Tu wrote:
> On Tue, Aug 17, 2021 at 7:14 AM Bruce Richardson
> <bruce.richardson at intel.com> wrote:
> >
> > On Fri, Aug 06, 2021 at 04:17:32PM -0700, William Tu wrote:
> > > On Thu, Aug 5, 2021 at 12:15 PM Dmitry Kozlyuk <dmitry.kozliuk at gmail.com> wrote:
> > > >
> > > snip
> > >
> > > > # Porting OvS build system to meson (William Tu)
> > > >
> > > > Status: OvS compiles with some features disabled, with a lot of warnings.
> > > > Issues:
> > > >
> > > > * vhost-user is Linux-specific.
> > > >   [Omar] Microsoft is working on functional equivalent.
> > > > * rte_version* not exported.
> > > >   AI William to send patches.
> > > > * rte_open_logstream() implementation relies on Linux-specific fopencookie().
> > > >   We need a more generic facility to redirect logs.
> > > >   AI William and DmitryK to discuss.
> > > > * meson not finding DPDK with pkg-config, maybe meson bug.
> > >
> > > To give more details about this for people who are interested.
> > > At OVS side, we tried to link the DPDK library, by doing below at
> > > meson.build file
> > >     libdpdk = dependency('libdpdk', method: 'pkg-config')" , or give
> > > it a specific path
> > >     libdpdk = cc.find_library('dpdk', dirs: ['C:\\temp\\dpdk\\lib'])
> > >
> > > However, it doesn't work, with error below
> > >     Run-time dependency libdpdk found: NO (tried pkgconfig)
> > >     meson.build:45:4: ERROR: Dependency "libdpdk" not found, tried pkgconfig
> > >
> >
> > Can you share the meson log file snippet where it tries the pkg-config
> > call? Does PKG_CONFIG_PATH have to be set to a special value to get the .pc
> > files found?
> 
> Hi Bruce,
> Thanks!
> The log below:
> ---
> Target machine cpu: x86_64
> Pkg-config binary for MachineChoice.HOST is not cached.
> Pkg-config binary missing from cross or native file, or env var undefined.
> Trying a default Pkg-config fallback at pkg-config
> Found pkg-config:
> C:\ProgramData\chocolatey\lib\pkgconfiglite\tools\pkg-config-lite-0
> .28-1\bin\pkg-config.EXE (0.28)
> Determining dependency 'libdpdk' with pkg-config executable
> 'C:\\ProgramData\\chocola
> tey\\lib\\pkgconfiglite\\tools\\pkg-config-lite-0.28-1\\bin\\pkg-config.EXE'
> env[PKG_CONFIG_PATH]:
> Called `C:\ProgramData\chocolatey\lib\pkgconfiglite\tools\pkg-config-lite-0.28-1\bin\
> pkg-config.EXE --modversion libdpdk` -> 1
> 
> Run-time dependency libdpdk found: NO (tried pkgconfig)
> ---
> However, I copy the command and run it on powershell
> PS C:\k8s-antrea-dpdk-win\ovs>
> C:\ProgramData\chocolatey\lib\pkgconfiglite\tools\pkg-
> config-lite-0.28-1\bin\pkg-config.EXE --modversion libdpdk
> 21.08.0-rc1
> 
> Yes, for example:
> $env:PKG_CONFIG_PATH = 'C:\temp\DPDK\lib\pkgconfig'
> 

Looking at the meson log, it appears that the PKG_CONFIG_PATH is empty for
the meson call to pkg-config "env[PKG_CONFIG_PATH]:", which may explain why
DPDK is not found. I suspect meson only uses the PKG_CONFIG_PATH from the
environment on first run, but beyond that you can configure a
PKG_CONFIG_PATH using a meson configuration option "-Dpkg_config_path". Can
you try explicitly setting that in your build and see if it fixes it for
you?

/Bruce


More information about the dev mailing list