On Thu, Feb 20, 2020 at 8:55 PM Ferruh Yigit <ferruh.yi...@intel.com> wrote: > > The problem occurred when workaround that makes soname two digits > applied. With this change for the ABI version "20.0.1" the experimental > library version become ".so.2001". > After workaround removed in ABI version 21.0, the experimental library > version will become ".so.210". > "2001" is bigger value than "201" although it is a previous version of > the library version, this can break the version comparisons. > > To fix this, introducing a temporary sub level versioning for the > experimental libraries, so that minor version comparison will continue > to work. > > After change experimental libraries will follow below versioning: > > DPDK version ABI version soname library name > ------------ ----------- ------ ------------ > DPDK 19.11 20.0 .so.0.200 .so.0.200 > DPDK 20.02 20.0.1 .so.0.200.1 .so.0.200.1 > DPDK 20.05 20.0.2 .so.0.200.2 .so.0.200.2 > DPDK 20.11 21.0 .so.0.210 .so.0.210 > DPDK 21.02 21.1 .so.0.211 .so.0.211 > > Note: After workaround removed in DPDK 20.11 and soname switch back to > single digit this patch won't work and needs to be updated. > > Fixes: f26c2b39b271 ("build: fix soname info for 19.11 compatibility") > > Signed-off-by: Ferruh Yigit <ferruh.yi...@intel.com>
The soname change breaks existing applications like testpmd (linked to various experimental libraries). I have the full details if needed in a pastebin (v19.11, master, patch_applied). $ LD_LIBRARY_PATH=$HOME/builds/x86_64-native-linux-gcc+shared+kmods/install/lib $HOME/abi/v19.11/x86_64-native-linux-gcc+shared+kmods/bin/testpmd /home/dmarchan/abi/v19.11/x86_64-native-linux-gcc+shared+kmods/bin/testpmd: error while loading shared libraries: librte_flow_classify.so.0.200: cannot open shared object file: No such file or directory libabigail reports this change as an error, so if it is intended, we need to bypass the check for those libraries. Functions changes summary: 0 Removed, 0 Changed (2 filtered out), 0 Added functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable ELF SONAME changed Functions changes summary: 0 Removed, 0 Changed (7 filtered out), 0 Added functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable SONAME changed from 'librte_flow_classify.so.0.200' to 'librte_flow_classify.so.0.200.1' Error: ABI issue reported for 'abidiff --suppr /home/dmarchan/dpdk/devtools/libabigail.abignore --no-added-syms --headers-dir1 /home/dmarchan/abi/v19.11/x86_64-native-linux-gcc+shared+kmods/include --headers-dir2 /home/dmarchan/builds/x86_64-native-linux-gcc+shared+kmods/install/include /home/dmarchan/abi/v19.11/x86_64-native-linux-gcc+shared+kmods/dump/librte_flow_classify.dump /home/dmarchan/builds/x86_64-native-linux-gcc+shared+kmods/install/dump/librte_flow_classify.dump' -- David Marchand