Bug#873362: coinor-libcoinutils3v5: unannounced ABI change without SONAME change?

Anton Gladky gladk at debian.org
Sun Aug 27 18:36:40 UTC 2017


Hi Mattia,

thanks for the tip! I have recompiled both libs with the same
current gcc-7.2. And it looks like there are no dropped symbols
(see file old-gcc7_new-gcc7.diff in attachment).

But if I compare new so-file with the one shipped with Stretch
(compiled with gcc6)
the diff contains some missing symbols (see file  old-gcc6_new-gcc7.diff).

What is the best practice for such kind of libs? Provide symbol-files?

Thank you

PS I have generated the symbols with the command:
  readelf -Ws libCoinUtils.so |  awk '{print $8}'

Anton


2017-08-27 18:04 GMT+02:00 Mattia Rizzolo <mattia at debian.org>:
> On Sun, Aug 27, 2017 at 03:16:46PM +0200, Anton Gladky wrote:
>> > Still I believe that this should be "correctly" fixed.
>>
>> You mean to increase so-version even if upstream does not do it and
>> to start the normal transition process? I think it is possible.
>
> That's actually your only option.
> Could someone check the symbols of the library before and after the
> upload and check whether some have been dropped?  If there are, not
> bumping SONAME is a bug upstream should deal with by doing another
> release and doing so (and failing so, in Debian you should at the very
> least rename the binary package (doing somethng alike to the v5 thing
> done for libstdc++5)).
>
> --
> regards,
>                         Mattia Rizzolo
>
> GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540      .''`.
> more about me:  https://mapreri.org                             : :'  :
> Launchpad user: https://launchpad.net/~mapreri                  `. `'`
> Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-
-------------- next part --------------
diff --git a/symb_old_gcc6 b/symb_new_gcc7
index b2c7fe0..81b10dc 100644
--- a/symb_old_gcc6
+++ b/symb_new_gcc7
@@ -9,7 +9,6 @@ BZ2_bzWrite
 BZ2_bzWriteClose
 BZ2_bzWriteOpen
 calloc at GLIBC_2.2.5
-ceil at GLIBC_2.2.5
 c_ekkbtrn
 c_ekkbtrn_ipivrw
 c_ekketsj
@@ -70,7 +69,6 @@ isalnum at GLIBC_2.2.5
 isalpha at GLIBC_2.2.5
 _ITM_deregisterTMCloneTable
 _ITM_registerTMCloneTable
-_Jv_RegisterClasses
 log10 at GLIBC_2.2.5
 log at GLIBC_2.2.5
 malloc at GLIBC_2.2.5
@@ -79,6 +77,7 @@ __memcpy_chk at GLIBC_2.3.4
 memcpy at GLIBC_2.14
 memmove at GLIBC_2.2.5
 memset at GLIBC_2.2.5
+modf at GLIBC_2.2.5
 pow at GLIBC_2.2.5
 __printf_chk at GLIBC_2.3.4
 putchar at GLIBC_2.2.5
@@ -109,7 +108,6 @@ strstr at GLIBC_2.2.5
 strtod at GLIBC_2.2.5
 strtol at GLIBC_2.2.5
 tolower at GLIBC_2.2.5
-trunc at GLIBC_2.2.5
 _Unwind_Resume at GCC_3.0
 _Z10c_ekkputl2PK12_EKKfactinfoPdS2_i
 _Z10clp_doublei
@@ -135,11 +133,13 @@ _Z11fileAbsPathRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
 _Z11log_wrapperd
 _Z11sin_wrapperd
 _Z12atan_wrapperd
+_Z12ceil_wrapperd
 _Z12CoinFromFileIdEiRPT_iP8_IO_FILERi
 _Z12CoinFromFileIiEiRPT_iP8_IO_FILERi
 _Z12fabs_wrapperd
 _Z12remove_fixedP18CoinPresolveMatrixPK18CoinPresolveAction
 _Z12sqrt_wrapperd
+_Z13floor_wrapperd
 _Z13testRedundantP18CoinPresolveMatrixPK18CoinPresolveAction
 _Z13transferCostsP18CoinPresolveMatrix
 _Z16check_tripletonsPK18CoinPresolveAction
@@ -158,7 +158,6 @@ _Z22drop_zero_coefficientsP18CoinPresolveMatrixPK18CoinPresolveAction
 _Z22presolve_make_memlistsPiP13presolvehlinki
 _Z24WindowsErrorPopupBlockerv
 _Z26getFunctionValueFromStringPKcS0_d
-_Z26presolve_delete_from_majoriiPKiPiS1_Pd
 _Z27presolve_delete_from_major2iiPiS_S_S_S_
 _Z7clp_inti
 _Z8clp_freePv
@@ -179,10 +178,10 @@ _Z9c_ekkrwctPK12_EKKfactinfoPdPiS3_PKiPK8EKKHlinkS8_PKsS2_ii
 _Z9c_ekkshffP12_EKKfactinfoP8EKKHlinkS2_i
 _Z9c_ekkshfvP12_EKKfactinfoP8EKKHlinkS2_i
 _Z9c_ekktriaP12_EKKfactinfoP8EKKHlinkS2_PiS3_S3_S3_i
+_Z9check_rowPiPdS_S_ddii
 _Z9CoinCopyNIdEvPKT_iPS0_
 _Z9CoinCopyNIiEvPKT_iPS0_
 _Z9CoinFillNIiEvPT_iS0_
-_Z9CoinFillNItEvPT_iS0_
 _Z9CoinIsnand
 _Z9CoinZeroNIdEvPT_i
 _Z9CoinZeroNIiEvPT_i
@@ -223,6 +222,7 @@ _ZN12CoinMessagesC2Ei
 _ZN12CoinMessagesC2ERKS_
 _ZN12CoinMessagesD1Ev
 _ZN12CoinMessagesD2Ev
+_ZN12CoinRational16nearestRational_Eddl
 _ZN12CoinRelFltEqD0Ev
 _ZN12CoinRelFltEqD1Ev
 _ZN12CoinRelFltEqD2Ev
@@ -358,6 +358,10 @@ _ZN14CoinSearchTreeI26CoinSearchTreeCompareDepthE8realpushEP16CoinTreeSiblings
 _ZN14CoinSearchTreeI26CoinSearchTreeCompareDepthED0Ev
 _ZN14CoinSearchTreeI26CoinSearchTreeCompareDepthED1Ev
 _ZN14CoinSearchTreeI26CoinSearchTreeCompareDepthED2Ev
+_ZN14duprow3_action8presolveEP18CoinPresolveMatrixPK18CoinPresolveAction
+_ZN14duprow3_actionD0Ev
+_ZN14duprow3_actionD1Ev
+_ZN14duprow3_actionD2Ev
 _ZN14FactorPointersC1EiiPiS0_
 _ZN14FactorPointersC2EiiPiS0_
 _ZN14FactorPointersD1Ev
@@ -1142,6 +1146,8 @@ _ZN8CoinLpIO6readLpEP8_IO_FILEd
 _ZN8CoinLpIO6readLpEPKc
 _ZN8CoinLpIO6readLpEPKcd
 _ZN8CoinLpIO7freeAllEv
+_ZN8CoinLpIO7loadSOSEiPK7CoinSet
+_ZN8CoinLpIO7loadSOSEiPPK7CoinSet
 _ZN8CoinLpIO7writeLpEP8_IO_FILEb
 _ZN8CoinLpIO7writeLpEP8_IO_FILEdiib
 _ZN8CoinLpIO7writeLpEPKcb
@@ -1340,6 +1346,8 @@ _ZNK14CoinFileIOBase11getFileNameEv
 _ZNK14CoinModelHash24hashEiiPK15CoinModelTriple
 _ZNK14CoinModelHash29hashValueEii
 _ZNK14CoinSearchTreeI26CoinSearchTreeCompareDepthE8compNameEv
+_ZNK14duprow3_action4nameEv
+_ZNK14duprow3_action9postsolveEP19CoinPostsolveMatrix
 _ZNK14twoxtwo_action4nameEv
 _ZNK14twoxtwo_action9postsolveEP19CoinPostsolveMatrix
 _ZNK15CoinDenseVectorIdE11getElementsEv
@@ -1364,10 +1372,8 @@ _ZNK16CoinPackedMatrix10timesMajorERK20CoinPackedVectorBasePd
 _ZNK16CoinPackedMatrix10timesMinorEPKdPd
 _ZNK16CoinPackedMatrix10timesMinorERK20CoinPackedVectorBasePd
 _ZNK16CoinPackedMatrix12isEquivalentERKS_
-_ZNK16CoinPackedMatrix13getVectorLastEi
 _ZNK16CoinPackedMatrix13isEquivalent2ERKS_
 _ZNK16CoinPackedMatrix14getCoefficientEii
-_ZNK16CoinPackedMatrix14getVectorFirstEi
 _ZNK16CoinPackedMatrix14transposeTimesEPKdPd
 _ZNK16CoinPackedMatrix14transposeTimesERK20CoinPackedVectorBasePd
 _ZNK16CoinPackedMatrix15getMajorIndicesEv
@@ -1484,6 +1490,7 @@ _ZNK20CoinPackedVectorBase11denseVectorEi
 _ZNK20CoinPackedVectorBase11getMaxIndexEv
 _ZNK20CoinPackedVectorBase11getMinIndexEv
 _ZNK20CoinPackedVectorBase12isEquivalentERKS_
+_ZNK20CoinPackedVectorBase12isEquivalentI12CoinRelFltEqEEbRKS_RKT_
 _ZNK20CoinPackedVectorBase13clearIndexSetEv
 _ZNK20CoinPackedVectorBase14duplicateIndexEPKcS1_
 _ZNK20CoinPackedVectorBase15isExistingIndexEi
@@ -1724,16 +1731,16 @@ _ZNSo9_M_insertIdEERSoT_ at GLIBCXX_3.4.9
 _ZNSo9_M_insertIPKvEERSoT_ at GLIBCXX_3.4.9
 _ZNSolsEi at GLIBCXX_3.4
 _ZNSt3_V28__rotateIPiEET_S2_S2_S2_St26random_access_iterator_tag
-_ZNSt6vectorIdSaIdEE19_M_emplace_back_auxIJRKdEEEvDpOT_
+_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_
 _ZNSt6vectorIdSaIdEEaSERKS1_
-_ZNSt6vectorIiSaIiEE19_M_emplace_back_auxIJRKiEEEvDpOT_
+_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_
 _ZNSt6vectorIiSaIiEEaSERKS1_
-_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_emplace_back_auxIJRKS5_EEEvDpOT_
-_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_emplace_back_auxIJS5_EEEvDpOT_
+_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_
+_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_
 _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEaSERKS7_
 _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED1Ev
 _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev
-_ZNSt6vectorIP16CoinTreeSiblingsSaIS1_EE19_M_emplace_back_auxIJRKS1_EEEvDpOT_
+_ZNSt6vectorIP16CoinTreeSiblingsSaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_
 _ZNSt6vectorIP16CoinTreeSiblingsSaIS1_EEaSERKS3_
 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm at GLIBCXX_3.4.21
 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE14_M_replace_auxEmmmc at GLIBCXX_3.4.21
@@ -1760,13 +1767,7 @@ _ZSt13__adjust_heapIP8CoinPairIidElS1_N9__gnu_cxx5__ops15_Iter_comp_iterI15CoinF
 _ZSt13__adjust_heapIP8CoinPairIidElS1_N9__gnu_cxx5__ops15_Iter_comp_iterI18CoinFirstGreater_2IidEEEEvT_T0_SA_T1_T2_
 _ZSt13__adjust_heapIP8CoinPairIiiElS1_N9__gnu_cxx5__ops15_Iter_comp_iterI15CoinFirstLess_2IiiEEEEvT_T0_SA_T1_T2_
 _ZSt13__adjust_heapIPiliN9__gnu_cxx5__ops15_Iter_less_iterEEvT_T0_S5_T1_T2_
-_ZSt13__heap_selectIP8CoinPairIiiEN9__gnu_cxx5__ops15_Iter_comp_iterI15CoinFirstLess_2IiiEEEEvT_S9_S9_T0_
 _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPP16CoinTreeSiblingsSt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterI26CoinSearchTreeCompareDepthEEEvT_SD_T0_
-_ZSt16__insertion_sortIP10CoinTripleIiidEN9__gnu_cxx5__ops15_Iter_comp_iterI15CoinFirstLess_3IiidEEEEvT_S9_T0_
-_ZSt16__insertion_sortIP8CoinPairIdiEN9__gnu_cxx5__ops15_Iter_comp_iterI15CoinFirstLess_2IdiEEEEvT_S9_T0_
-_ZSt16__insertion_sortIP8CoinPairIdiEN9__gnu_cxx5__ops15_Iter_comp_iterI18CoinFirstGreater_2IdiEEEEvT_S9_T0_
-_ZSt16__insertion_sortIP8CoinPairIidEN9__gnu_cxx5__ops15_Iter_comp_iterI15CoinFirstLess_2IidEEEEvT_S9_T0_
-_ZSt16__insertion_sortIP8CoinPairIidEN9__gnu_cxx5__ops15_Iter_comp_iterI18CoinFirstGreater_2IidEEEEvT_S9_T0_
 _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPP16CoinTreeSiblingsSt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterI26CoinSearchTreeCompareDepthEEEvT_SD_T0_T1_
 _ZSt16__introsort_loopIP10CoinTripleIiidElN9__gnu_cxx5__ops15_Iter_comp_iterI15CoinFirstLess_3IiidEEEEvT_S9_T0_T1_
 _ZSt16__introsort_loopIP8CoinPairIdiElN9__gnu_cxx5__ops15_Iter_comp_iterI15CoinFirstLess_2IdiEEEEvT_S9_T0_T1_
@@ -1791,9 +1792,9 @@ _ZSt4cerr at GLIBCXX_3.4
 _ZSt4cout at GLIBCXX_3.4
 _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_ at GLIBCXX_3.4
 _ZSt7nothrow at GLIBCXX_3.4
-_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc at GLIBCXX_3.4
 _ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_SA_
 _ZTI10CoinSosSet
+_ZTI12CoinRelFltEq
 _ZTI12CoinSnapshot
 _ZTI13CoinBaseModel
 _ZTI13CoinFileInput
@@ -1804,6 +1805,7 @@ _ZTI13gubrow_action
 _ZTI14CoinFileIOBase
 _ZTI14CoinFileOutput
 _ZTI14CoinSearchTreeI26CoinSearchTreeCompareDepthE
+_ZTI14duprow3_action
 _ZTI14twoxtwo_action
 _ZTI16CoinPackedMatrix
 _ZTI16CoinPackedVector
@@ -1856,6 +1858,7 @@ _ZTI9CoinParam
 _ZTIPc at CXXABI_1.3
 _ZTIPKc at CXXABI_1.3
 _ZTS10CoinSosSet
+_ZTS12CoinRelFltEq
 _ZTS12CoinSnapshot
 _ZTS13CoinBaseModel
 _ZTS13CoinFileInput
@@ -1866,6 +1869,7 @@ _ZTS13gubrow_action
 _ZTS14CoinFileIOBase
 _ZTS14CoinFileOutput
 _ZTS14CoinSearchTreeI26CoinSearchTreeCompareDepthE
+_ZTS14duprow3_action
 _ZTS14twoxtwo_action
 _ZTS16CoinPackedMatrix
 _ZTS16CoinPackedVector
@@ -1956,6 +1960,7 @@ _ZTv0_n48_N18CoinWarmStartBasis9applyDiffEPK17CoinWarmStartDiff
 _ZTv0_n48_N19CoinWarmStartVectorIdE9applyDiffEPK17CoinWarmStartDiff
 _ZTv0_n48_N23CoinWarmStartPrimalDual9applyDiffEPK17CoinWarmStartDiff
 _ZTV10CoinSosSet
+_ZTV12CoinRelFltEq
 _ZTV12CoinSnapshot
 _ZTV13CoinBaseModel
 _ZTV13CoinFileInput
@@ -1964,6 +1969,7 @@ _ZTV13duprow_action
 _ZTV13gubrow_action
 _ZTV14CoinFileOutput
 _ZTV14CoinSearchTreeI26CoinSearchTreeCompareDepthE
+_ZTV14duprow3_action
 _ZTV14twoxtwo_action
 _ZTV16CoinPackedMatrix
 _ZTV16CoinPackedVector
-------------- next part --------------
diff --git a/symb_old_gcc7 b/symb_new_gcc7
index 383d1f9..81b10dc 100644
--- a/symb_old_gcc7
+++ b/symb_new_gcc7
@@ -77,6 +77,7 @@ __memcpy_chk at GLIBC_2.3.4
 memcpy at GLIBC_2.14
 memmove at GLIBC_2.2.5
 memset at GLIBC_2.2.5
+modf at GLIBC_2.2.5
 pow at GLIBC_2.2.5
 __printf_chk at GLIBC_2.3.4
 putchar at GLIBC_2.2.5
@@ -132,11 +133,13 @@ _Z11fileAbsPathRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
 _Z11log_wrapperd
 _Z11sin_wrapperd
 _Z12atan_wrapperd
+_Z12ceil_wrapperd
 _Z12CoinFromFileIdEiRPT_iP8_IO_FILERi
 _Z12CoinFromFileIiEiRPT_iP8_IO_FILERi
 _Z12fabs_wrapperd
 _Z12remove_fixedP18CoinPresolveMatrixPK18CoinPresolveAction
 _Z12sqrt_wrapperd
+_Z13floor_wrapperd
 _Z13testRedundantP18CoinPresolveMatrixPK18CoinPresolveAction
 _Z13transferCostsP18CoinPresolveMatrix
 _Z16check_tripletonsPK18CoinPresolveAction
@@ -175,6 +178,7 @@ _Z9c_ekkrwctPK12_EKKfactinfoPdPiS3_PKiPK8EKKHlinkS8_PKsS2_ii
 _Z9c_ekkshffP12_EKKfactinfoP8EKKHlinkS2_i
 _Z9c_ekkshfvP12_EKKfactinfoP8EKKHlinkS2_i
 _Z9c_ekktriaP12_EKKfactinfoP8EKKHlinkS2_PiS3_S3_S3_i
+_Z9check_rowPiPdS_S_ddii
 _Z9CoinCopyNIdEvPKT_iPS0_
 _Z9CoinCopyNIiEvPKT_iPS0_
 _Z9CoinFillNIiEvPT_iS0_
@@ -218,6 +222,7 @@ _ZN12CoinMessagesC2Ei
 _ZN12CoinMessagesC2ERKS_
 _ZN12CoinMessagesD1Ev
 _ZN12CoinMessagesD2Ev
+_ZN12CoinRational16nearestRational_Eddl
 _ZN12CoinRelFltEqD0Ev
 _ZN12CoinRelFltEqD1Ev
 _ZN12CoinRelFltEqD2Ev
@@ -353,6 +358,10 @@ _ZN14CoinSearchTreeI26CoinSearchTreeCompareDepthE8realpushEP16CoinTreeSiblings
 _ZN14CoinSearchTreeI26CoinSearchTreeCompareDepthED0Ev
 _ZN14CoinSearchTreeI26CoinSearchTreeCompareDepthED1Ev
 _ZN14CoinSearchTreeI26CoinSearchTreeCompareDepthED2Ev
+_ZN14duprow3_action8presolveEP18CoinPresolveMatrixPK18CoinPresolveAction
+_ZN14duprow3_actionD0Ev
+_ZN14duprow3_actionD1Ev
+_ZN14duprow3_actionD2Ev
 _ZN14FactorPointersC1EiiPiS0_
 _ZN14FactorPointersC2EiiPiS0_
 _ZN14FactorPointersD1Ev
@@ -1137,6 +1146,8 @@ _ZN8CoinLpIO6readLpEP8_IO_FILEd
 _ZN8CoinLpIO6readLpEPKc
 _ZN8CoinLpIO6readLpEPKcd
 _ZN8CoinLpIO7freeAllEv
+_ZN8CoinLpIO7loadSOSEiPK7CoinSet
+_ZN8CoinLpIO7loadSOSEiPPK7CoinSet
 _ZN8CoinLpIO7writeLpEP8_IO_FILEb
 _ZN8CoinLpIO7writeLpEP8_IO_FILEdiib
 _ZN8CoinLpIO7writeLpEPKcb
@@ -1335,6 +1346,8 @@ _ZNK14CoinFileIOBase11getFileNameEv
 _ZNK14CoinModelHash24hashEiiPK15CoinModelTriple
 _ZNK14CoinModelHash29hashValueEii
 _ZNK14CoinSearchTreeI26CoinSearchTreeCompareDepthE8compNameEv
+_ZNK14duprow3_action4nameEv
+_ZNK14duprow3_action9postsolveEP19CoinPostsolveMatrix
 _ZNK14twoxtwo_action4nameEv
 _ZNK14twoxtwo_action9postsolveEP19CoinPostsolveMatrix
 _ZNK15CoinDenseVectorIdE11getElementsEv
@@ -1792,6 +1805,7 @@ _ZTI13gubrow_action
 _ZTI14CoinFileIOBase
 _ZTI14CoinFileOutput
 _ZTI14CoinSearchTreeI26CoinSearchTreeCompareDepthE
+_ZTI14duprow3_action
 _ZTI14twoxtwo_action
 _ZTI16CoinPackedMatrix
 _ZTI16CoinPackedVector
@@ -1855,6 +1869,7 @@ _ZTS13gubrow_action
 _ZTS14CoinFileIOBase
 _ZTS14CoinFileOutput
 _ZTS14CoinSearchTreeI26CoinSearchTreeCompareDepthE
+_ZTS14duprow3_action
 _ZTS14twoxtwo_action
 _ZTS16CoinPackedMatrix
 _ZTS16CoinPackedVector
@@ -1954,6 +1969,7 @@ _ZTV13duprow_action
 _ZTV13gubrow_action
 _ZTV14CoinFileOutput
 _ZTV14CoinSearchTreeI26CoinSearchTreeCompareDepthE
+_ZTV14duprow3_action
 _ZTV14twoxtwo_action
 _ZTV16CoinPackedMatrix
 _ZTV16CoinPackedVector


More information about the debian-science-maintainers mailing list