[Pkg-dpdk-devel] ABI Bump causes symbols collision in lib consumers

Christian Ehrhardt christian.ehrhardt at canonical.com
Tue Feb 7 14:09:33 UTC 2017

On Tue, Feb 7, 2017 at 12:08 PM, Christian Ehrhardt <
christian.ehrhardt at canonical.com> wrote:

> Going for the more explicit compat packages try now.

Ok, that worked - here some logs from my tests with various old/new

*new DPDK / old OVS - as Update:*
      The following package was automatically installed and is no longer
      Use 'apt autoremove' to remove it.
      The following NEW packages will be installed:
        librte-cryptodev2 librte-eal3 librte-ethdev5 librte-net1
      The following packages will be upgraded:
        dpdk libethdev4 librte-cmdline2 librte-cryptodev1 librte-eal2
librte-hash2 librte-kvargs1 librte-mbuf2 librte-mempool2
        librte-meter1 librte-pdump1 librte-pmd-af-packet1 librte-pmd-bnxt1
librte-pmd-bond1 librte-pmd-cxgbe1 librte-pmd-e1000-1 librte-pmd-ena1
        librte-pmd-enic1 librte-pmd-fm10k1 librte-pmd-i40e1
librte-pmd-ixgbe1 librte-pmd-null-crypto1 librte-pmd-null1 librte-pmd-pcap1
        librte-pmd-ring2 librte-pmd-vhost1 librte-pmd-virtio1
librte-pmd-vmxnet3-uio1 librte-pmd-xenvirt1 librte-ring1 librte-vhost3
    => That is good, installable as intended.
    => There really is no dep to cryptodev1 left - it is good to see that
it can be autoremoved (before was ovs->dpdk-crpytodev1, but that now goes
to 2)

*new DPDK / old OVS - as NEW INSTALL of old openvswitch where new DPDK is
      The following additional packages will be installed:
        libethdev4 librte-eal2 librte-meter1 openvswitch-common
openvswitch-switch python-six
      The following NEW packages will be installed:
        libethdev4 librte-eal2 librte-meter1 openvswitch-common
openvswitch-switch openvswitch-switch-dpdk python-six
      0 upgraded, 7 newly installed, 0 to remove and 7 not upgraded.

    => that is correct, librte-meter was not a recommend (like e.g. the
pmds would be) of dpdk installed before
    => libethdev4 librte-eal2 are the depends of old openvswitch which now
are the ABI compat symlinks

    In both environments the linking is now non-critical:
    lddtree /usr/lib/openvswitch-switch-dpdk/ovs-vswitchd-dpdk | egrep
        librte_eal.so.3 => /usr/lib/x86_64-linux-gnu/librte_eal.so.3
        librte_ethdev.so.5 => /usr/lib/x86_64-linux-gnu/librte_ethdev.so.5
      librte_eal.so.2 => /usr/lib/x86_64-linux-gnu/librte_eal.so.2
      libethdev.so.4 => /usr/lib/x86_64-linux-gnu/libethdev.so.4
    lrwxrwxrwx 1 root root 15 Feb  7 10:00
/usr/lib/x86_64-linux-gnu/librte_eal.so.2 -> librte_eal.so.3
    lrwxrwxrwx 1 root root 15 Feb  7 10:00
/usr/lib/x86_64-linux-gnu/librte_eal.so.2 -> librte_eal.so.3

    And probably most important - it works now.

*new DPDK / new OVS (enable proposed and take existing rebuild from there)*
     Upgrade correctly lists:
       The following packages were automatically installed and are no
longer required:
         libethdev4 librte-cryptodev1 librte-eal2

     => Dependencies only resolve to new versions
     => After autoremove still working and resolving fine

I'll submit patches to review to gerrit soon, but would summarize the
solution on my ubuntu-devel thread once more to have a chance to get an
ack/nack before we merged/released it this way.

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

More information about the Pkg-dpdk-devel mailing list