[Pkg-dpdk-devel] Bug#905041: avf pmd missing in generated dependencies

Christian Ehrhardt christian.ehrhardt at canonical.com
Tue Jul 31 08:03:54 BST 2018


Fortunately this is currently only in experimental.

This is actually a generated list of dependencies:
103 Package: libdpdk-dev

104 Section: libdevel

105 Architecture: amd64 arm64 i386 ppc64el

106 Multi-Arch: same

107 Pre-Depends: ${misc:Pre-Depends}

108 Depends: libpcap-dev,

109          zlib1g-dev,

110          ${librte:Depends},

111          ${misc:Depends}

With ${librte:Depends} being the one missing the entry.

Buildlog of 18.05

# debian/files will not exist until dh_gencontrol has ran at least once,
# so we need to run gencontrol for libdpdk-dev and libdpdk-dbgsym after.
# The list of libraries and PMDs is everchanging, so generate the dependency
# list for libdpdk-dev to avoid having to maintain it manually.
# Same for the recommends list for dpdk, were we want the PMDs and the mempools.
dh_gencontrol -p libdpdk-dev -- -V"librte:Depends=`grep -E 'librte-*'
./debian/files | grep -v dbgsym | tr '_' ' ' | awk '{ print $1,"(=",$2
")" }' | paste -sd ',' - | sed -e 's/,/, /g'`"
	dpkg-gencontrol -plibdpdk-dev -ldebian/changelog
-Tdebian/libdpdk-dev.substvars -Pdebian/libdpdk-dev
"-Vlibrte:Depends=librte-acl18.05 (= 18.05-1), librte-bbdev18.05 (=
18.05-1), librte-bitratestats18.05 (= 18.05-1), librte-bpf18.05 (=
18.05-1), librte-bus-dpaa18.05 (= 18.05-1), librte-bus-fslmc18.05 (=
18.05-1), librte-bus-ifpga18.05 (= 18.05-1), librte-bus-pci18.05 (=
18.05-1), librte-bus-vdev18.05 (= 18.05-1), librte-cfgfile18.05 (=
18.05-1), librte-cmdline18.05 (= 18.05-1), librte-common-octeontx18.05
(= 18.05-1), librte-compressdev18.05 (= 18.05-1),
librte-cryptodev18.05 (= 18.05-1), librte-distributor18.05 (=
18.05-1), librte-eal18.05 (= 18.05-1), librte-efd18.05 (= 18.05-1),
librte-ethdev18.05 (= 18.05-1), librte-eventdev18.05 (= 18.05-1),
librte-flow-classify18.05 (= 18.05-1), librte-gro18.05 (= 18.05-1),
librte-gso18.05 (= 18.05-1), librte-hash18.05 (= 18.05-1),
librte-ifcvf-vdpa18.05 (= 18.05-1), librte-ip-frag18.05 (= 18.05-1),
librte-jobstats18.05 (= 18.05-1), librte-kvargs18.05 (= 18.05-1),
librte-latencystats18.05 (= 18.05-1), librte-lpm18.05 (= 18.05-1),
librte-mbuf18.05 (= 18.05-1), librte-member18.05 (= 18.05-1),
librte-mempool-bucket18.05 (= 18.05-1), librte-mempool-dpaa18.05 (=
18.05-1), librte-mempool-dpaa2-18.05 (= 18.05-1),
librte-mempool-octeontx18.05 (= 18.05-1), librte-mempool-ring18.05 (=
18.05-1), librte-mempool-stack18.05 (= 18.05-1), librte-mempool18.05
(= 18.05-1), librte-meter18.05 (= 18.05-1), librte-metrics18.05 (=
18.05-1), librte-net18.05 (= 18.05-1), librte-pci18.05 (= 18.05-1),
librte-pdump18.05 (= 18.05-1), librte-pipeline18.05 (= 18.05-1),
librte-pmd-af-packet18.05 (= 18.05-1), librte-pmd-ark18.05 (=
18.05-1), librte-pmd-axgbe18.05 (= 18.05-1),
librte-pmd-bbdev-null18.05 (= 18.05-1), librte-pmd-bnxt18.05 (=
18.05-1), librte-pmd-bond18.05 (= 18.05-1),
librte-pmd-crypto-scheduler18.05 (= 18.05-1), librte-pmd-cxgbe18.05 (=
18.05-1), librte-pmd-dpaa-event18.05 (= 18.05-1),
librte-pmd-dpaa-sec18.05 (= 18.05-1), librte-pmd-dpaa18.05 (=
18.05-1), librte-pmd-dpaa2-18.05 (= 18.05-1),
librte-pmd-dpaa2-cmdif18.05 (= 18.05-1), librte-pmd-dpaa2-event18.05
(= 18.05-1), librte-pmd-dpaa2-qdma18.05 (= 18.05-1),
librte-pmd-dpaa2-sec18.05 (= 18.05-1), librte-pmd-e1000-18.05 (=
18.05-1), librte-pmd-ena18.05 (= 18.05-1), librte-pmd-enic18.05 (=
18.05-1), librte-pmd-failsafe18.05 (= 18.05-1), librte-pmd-fm10k18.05
(= 18.05-1), librte-pmd-i40e18.05 (= 18.05-1),
librte-pmd-ifpga-rawdev18.05 (= 18.05-1), librte-pmd-ixgbe18.05 (=
18.05-1), librte-pmd-lio18.05 (= 18.05-1), librte-pmd-mlx4-18.05 (=
18.05-1), librte-pmd-mlx5-18.05 (= 18.05-1), librte-pmd-nfp18.05 (=
18.05-1), librte-pmd-null-crypto18.05 (= 18.05-1),
librte-pmd-null18.05 (= 18.05-1), librte-pmd-octeontx-ssovf18.05 (=
18.05-1), librte-pmd-octeontx18.05 (= 18.05-1),
librte-pmd-opdl-event18.05 (= 18.05-1), librte-pmd-openssl18.05 (=
18.05-1), librte-pmd-pcap18.05 (= 18.05-1), librte-pmd-qede18.05 (=
18.05-1), librte-pmd-ring18.05 (= 18.05-1),
librte-pmd-skeleton-event18.05 (= 18.05-1),
librte-pmd-skeleton-rawdev18.05 (= 18.05-1), librte-pmd-softnic18.05
(= 18.05-1), librte-pmd-sw-event18.05 (= 18.05-1), librte-pmd-tap18.05
(= 18.05-1), librte-pmd-thunderx-nicvf18.05 (= 18.05-1),
librte-pmd-vdev-netvsc18.05 (= 18.05-1), librte-pmd-vhost18.05 (=
18.05-1), librte-pmd-virtio-crypto18.05 (= 18.05-1),
librte-pmd-virtio18.05 (= 18.05-1), librte-pmd-vmxnet3-uio18.05 (=
18.05-1), librte-port18.05 (= 18.05-1), librte-power18.05 (= 18.05-1),
librte-rawdev18.05 (= 18.05-1), librte-reorder18.05 (= 18.05-1),
librte-ring18.05 (= 18.05-1), librte-sched18.05 (= 18.05-1),
librte-security18.05 (= 18.05-1), librte-table18.05 (= 18.05-1),
librte-timer18.05 (= 18.05-1), librte-vhost18.05 (= 18.05-1)"
	

This could be a typo or something like it to miss it.

If you search the build log for those two:
librte_pmd_ark.so.18.05
librte_pmd_avf.so.18.05
You will see the difference.

Actually I think librte_pmd_avp.so.18.05 is affected as well.

dhlink section has
rm -f debian/libdpdk-dev/usr/lib/i386-linux-gnu/librte_pmd_ark.so
ln -s librte_pmd_ark.so.18.05
debian/libdpdk-dev/usr/lib/i386-linux-gnu/librte_pmd_ark.so
rm -f
debian/librte-pmd-ark18.05/usr/lib/i386-linux-gnu/dpdk-18.05-drivers/librte_pmd_ark.so.18.05
ln -s ../librte_pmd_ark.so.18.05
debian/librte-pmd-ark18.05/usr/lib/i386-linux-gnu/dpdk-18.05-drivers/librte_pmd_ark.so.18.05
vs:
rm -f debian/libdpdk-dev/usr/lib/i386-linux-gnu/librte_pmd_avf.so
ln -s librte_pmd_avf.so.18.05
debian/libdpdk-dev/usr/lib/i386-linux-gnu/librte_pmd_avf.so

I think all steps afterwards further steps fail to pick it up due to that.

But I currently fail to see why, checked d/control and d/rules - but can't
find avp/avf/ark differ like the "-" vs "_" we had in the past.
Umm no actually I do see it, avf/avp is listed as "Architecture: amd64"
And I was looking at the i386 buildlog as amd64 was not reachable.
It would be correct for the i386 libdpdk-dev to not have the dependency.

Unfortunately
https://buildd.debian.org/status/logs.php?pkg=dpdk&ver=18.05-1&arch=amd64
is empty atm :-/

Luca, do you see the issue right away - or do we need to rebuild to see
what happened?

-- 
Christian Ehrhardt
Software Engineer, Ubuntu Server
Canonical Ltd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-dpdk-devel/attachments/20180731/a279423b/attachment.html>


More information about the Pkg-dpdk-devel mailing list