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