DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] pkg-config file generated with meson
@ 2018-11-29 13:55 David Marchand
  2018-11-29 14:07 ` Luca Boccassi
  0 siblings, 1 reply; 6+ messages in thread
From: David Marchand @ 2018-11-29 13:55 UTC (permalink / raw)
  To: bruce.richardson; +Cc: dev

Hello Bruce,

I built v18.11 with meson and had a little look at the libdpdk.pc file.
It looks like pkg-config works fine with --libs but is recursively opening
libdpdk.pc when asking for the cflags:

$ PKG_CONFIG_PATH=build/meson-private:$PKG_CONFIG_PATH pkg-config --libs
libdpdk
-L/usr/local/lib64 -lrte_telemetry -lrte_bpf -lrte_flow_classify
-lrte_pipeline -lrte_table -lrte_port -lrte_vhost -lrte_security
-lrte_sched -lrte_reorder -lrte_rawdev -lrte_pdump -lrte_power -lrte_meter
-lrte_member -lrte_lpm -lrte_latencystats -lrte_kni -lrte_jobstats
-lrte_ip_frag -lrte_gso -lrte_gro -lrte_eventdev -lrte_efd
-lrte_distributor -lrte_cryptodev -lrte_compressdev -lrte_cfgfile
-lrte_bitratestats -lrte_bbdev -lrte_acl -lrte_timer -lrte_hash
-lrte_metrics -lrte_pci -lrte_ethdev -lrte_net -lrte_mbuf -lrte_mempool
-lrte_ring -lrte_eal -lrte_kvargs -lrte_cmdline

$ PKG_CONFIG_PATH=build/meson-private:$PKG_CONFIG_PATH pkg-config --cflags
libdpdk
Failed to open 'build/meson-private/libdpdk.pc': Too many open files
Package 'libdpdk', required by 'DPDK', not found

$ PKG_CONFIG_PATH=build/meson-private:$PKG_CONFIG_PATH strace pkg-config
--cflags libdpdk 2>&1|grep -c 'open(.*libdpdk.pc'
1022

I must be doing something wrong...
I use meson 0.47.2 and dpdk is only built locally, not installed on the
system.


-- 
David Marchand

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] pkg-config file generated with meson
  2018-11-29 13:55 [dpdk-dev] pkg-config file generated with meson David Marchand
@ 2018-11-29 14:07 ` Luca Boccassi
  2018-11-29 14:13   ` David Marchand
  0 siblings, 1 reply; 6+ messages in thread
From: Luca Boccassi @ 2018-11-29 14:07 UTC (permalink / raw)
  To: David Marchand, bruce.richardson; +Cc: dev

On Thu, 2018-11-29 at 14:55 +0100, David Marchand wrote:
> Hello Bruce,
> 
> I built v18.11 with meson and had a little look at the libdpdk.pc
> file.
> It looks like pkg-config works fine with --libs but is recursively
> opening
> libdpdk.pc when asking for the cflags:
> 
> $ PKG_CONFIG_PATH=build/meson-private:$PKG_CONFIG_PATH pkg-config --
> libs
> libdpdk
> -L/usr/local/lib64 -lrte_telemetry -lrte_bpf -lrte_flow_classify
> -lrte_pipeline -lrte_table -lrte_port -lrte_vhost -lrte_security
> -lrte_sched -lrte_reorder -lrte_rawdev -lrte_pdump -lrte_power
> -lrte_meter
> -lrte_member -lrte_lpm -lrte_latencystats -lrte_kni -lrte_jobstats
> -lrte_ip_frag -lrte_gso -lrte_gro -lrte_eventdev -lrte_efd
> -lrte_distributor -lrte_cryptodev -lrte_compressdev -lrte_cfgfile
> -lrte_bitratestats -lrte_bbdev -lrte_acl -lrte_timer -lrte_hash
> -lrte_metrics -lrte_pci -lrte_ethdev -lrte_net -lrte_mbuf
> -lrte_mempool
> -lrte_ring -lrte_eal -lrte_kvargs -lrte_cmdline
> 
> $ PKG_CONFIG_PATH=build/meson-private:$PKG_CONFIG_PATH pkg-config --
> cflags
> libdpdk
> Failed to open 'build/meson-private/libdpdk.pc': Too many open files
> Package 'libdpdk', required by 'DPDK', not found
> 
> $ PKG_CONFIG_PATH=build/meson-private:$PKG_CONFIG_PATH strace pkg-
> config
> --cflags libdpdk 2>&1|grep -c 'open(.*libdpdk.pc'
> 1022
> 
> I must be doing something wrong...
> I use meson 0.47.2 and dpdk is only built locally, not installed on
> the
> system.

Hi,

It's true that there is "libdpdk" in the Requires.private section, and
probably shouldn't - but at least on Debian stable with pkg-config 0.29
it works fine despite that:

$ PKG_CONFIG_PATH=/tmp pkg-config --cflags libdpdk
-include rte_config.h -march=corei7 -I/usr/include/dpdk/../x86_64-linux-gnu/dpdk -I/usr/include/dpdk

Maybe a newer pkg-config version got smarter? Regardless we should look into it

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] pkg-config file generated with meson
  2018-11-29 14:07 ` Luca Boccassi
@ 2018-11-29 14:13   ` David Marchand
  2018-12-03 12:44     ` Luca Boccassi
  0 siblings, 1 reply; 6+ messages in thread
From: David Marchand @ 2018-11-29 14:13 UTC (permalink / raw)
  To: bluca; +Cc: bruce.richardson, dev

On Thu, Nov 29, 2018 at 3:08 PM Luca Boccassi <bluca@debian.org> wrote:

>
> It's true that there is "libdpdk" in the Requires.private section, and
> probably shouldn't - but at least on Debian stable with pkg-config 0.29
> it works fine despite that:
>

Well, this was my first impression when I saw Requires.private but I am not
familiar with .pc files.


>
> $ PKG_CONFIG_PATH=/tmp pkg-config --cflags libdpdk
> -include rte_config.h -march=corei7
> -I/usr/include/dpdk/../x86_64-linux-gnu/dpdk -I/usr/include/dpdk
>
> Maybe a newer pkg-config version got smarter? Regardless we should look
> into it
>

Mine is older, from rhel7:
$ pkg-config --version
0.27.1


-- 
David Marchand

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] pkg-config file generated with meson
  2018-11-29 14:13   ` David Marchand
@ 2018-12-03 12:44     ` Luca Boccassi
  2018-12-03 12:50       ` David Marchand
  2018-12-13  9:36       ` Luca Boccassi
  0 siblings, 2 replies; 6+ messages in thread
From: Luca Boccassi @ 2018-12-03 12:44 UTC (permalink / raw)
  To: David Marchand; +Cc: bruce.richardson, dev

On Thu, 2018-11-29 at 15:13 +0100, David Marchand wrote:
> On Thu, Nov 29, 2018 at 3:08 PM Luca Boccassi <bluca@debian.org>
> wrote:
> 
> > 
> > It's true that there is "libdpdk" in the Requires.private section,
> > and
> > probably shouldn't - but at least on Debian stable with pkg-config
> > 0.29
> > it works fine despite that:
> > 
> 
> Well, this was my first impression when I saw Requires.private but I
> am not
> familiar with .pc files.
> 
> 
> > 
> > $ PKG_CONFIG_PATH=/tmp pkg-config --cflags libdpdk
> > -include rte_config.h -march=corei7
> > -I/usr/include/dpdk/../x86_64-linux-gnu/dpdk -I/usr/include/dpdk
> > 
> > Maybe a newer pkg-config version got smarter? Regardless we should
> > look
> > into it
> > 
> 
> Mine is older, from rhel7:
> $ pkg-config --version
> 0.27.1

I think I found the issue, it looks like a Meson problem, reported
upstream:

https://github.com/mesonbuild/meson/issues/4583

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] pkg-config file generated with meson
  2018-12-03 12:44     ` Luca Boccassi
@ 2018-12-03 12:50       ` David Marchand
  2018-12-13  9:36       ` Luca Boccassi
  1 sibling, 0 replies; 6+ messages in thread
From: David Marchand @ 2018-12-03 12:50 UTC (permalink / raw)
  To: bluca; +Cc: bruce.richardson, dev

On Mon, Dec 3, 2018 at 1:45 PM Luca Boccassi <bluca@debian.org> wrote:

> On Thu, 2018-11-29 at 15:13 +0100, David Marchand wrote:
> > On Thu, Nov 29, 2018 at 3:08 PM Luca Boccassi <bluca@debian.org>
> > wrote:
> >
> > >
> > > It's true that there is "libdpdk" in the Requires.private section,
> > > and
> > > probably shouldn't - but at least on Debian stable with pkg-config
> > > 0.29
> > > it works fine despite that:
> > >
> >
> > Well, this was my first impression when I saw Requires.private but I
> > am not
> > familiar with .pc files.
> >
> >
> > >
> > > $ PKG_CONFIG_PATH=/tmp pkg-config --cflags libdpdk
> > > -include rte_config.h -march=corei7
> > > -I/usr/include/dpdk/../x86_64-linux-gnu/dpdk -I/usr/include/dpdk
> > >
> > > Maybe a newer pkg-config version got smarter? Regardless we should
> > > look
> > > into it
> > >
> >
> > Mine is older, from rhel7:
> > $ pkg-config --version
> > 0.27.1
>
> I think I found the issue, it looks like a Meson problem, reported
> upstream:
>
> https://github.com/mesonbuild/meson/issues/4583


Thanks Luca.


-- 
David Marchand

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] pkg-config file generated with meson
  2018-12-03 12:44     ` Luca Boccassi
  2018-12-03 12:50       ` David Marchand
@ 2018-12-13  9:36       ` Luca Boccassi
  1 sibling, 0 replies; 6+ messages in thread
From: Luca Boccassi @ 2018-12-13  9:36 UTC (permalink / raw)
  To: David Marchand; +Cc: bruce.richardson, dev

On Mon, 2018-12-03 at 12:44 +0000, Luca Boccassi wrote:
> On Thu, 2018-11-29 at 15:13 +0100, David Marchand wrote:
> > On Thu, Nov 29, 2018 at 3:08 PM Luca Boccassi <bluca@debian.org>
> > wrote:
> > 
> > > 
> > > It's true that there is "libdpdk" in the Requires.private
> > > section,
> > > and
> > > probably shouldn't - but at least on Debian stable with pkg-
> > > config
> > > 0.29
> > > it works fine despite that:
> > > 
> > 
> > Well, this was my first impression when I saw Requires.private but
> > I
> > am not
> > familiar with .pc files.
> > 
> > 
> > > 
> > > $ PKG_CONFIG_PATH=/tmp pkg-config --cflags libdpdk
> > > -include rte_config.h -march=corei7
> > > -I/usr/include/dpdk/../x86_64-linux-gnu/dpdk -I/usr/include/dpdk
> > > 
> > > Maybe a newer pkg-config version got smarter? Regardless we
> > > should
> > > look
> > > into it
> > > 
> > 
> > Mine is older, from rhel7:
> > $ pkg-config --version
> > 0.27.1
> 
> I think I found the issue, it looks like a Meson problem, reported
> upstream:
> 
> https://github.com/mesonbuild/meson/issues/4583

My fix has been merged, it's available as part of the new 0.49 Meson
release.

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-12-13  9:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-29 13:55 [dpdk-dev] pkg-config file generated with meson David Marchand
2018-11-29 14:07 ` Luca Boccassi
2018-11-29 14:13   ` David Marchand
2018-12-03 12:44     ` Luca Boccassi
2018-12-03 12:50       ` David Marchand
2018-12-13  9:36       ` Luca Boccassi

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).