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 <mat...@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 `-
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@GLIBC_2.2.5 -ceil@GLIBC_2.2.5 c_ekkbtrn c_ekkbtrn_ipivrw c_ekketsj @@ -70,7 +69,6 @@ isalnum@GLIBC_2.2.5 isalpha@GLIBC_2.2.5 _ITM_deregisterTMCloneTable _ITM_registerTMCloneTable -_Jv_RegisterClasses log10@GLIBC_2.2.5 log@GLIBC_2.2.5 malloc@GLIBC_2.2.5 @@ -79,6 +77,7 @@ __memcpy_chk@GLIBC_2.3.4 memcpy@GLIBC_2.14 memmove@GLIBC_2.2.5 memset@GLIBC_2.2.5 +modf@GLIBC_2.2.5 pow@GLIBC_2.2.5 __printf_chk@GLIBC_2.3.4 putchar@GLIBC_2.2.5 @@ -109,7 +108,6 @@ strstr@GLIBC_2.2.5 strtod@GLIBC_2.2.5 strtol@GLIBC_2.2.5 tolower@GLIBC_2.2.5 -trunc@GLIBC_2.2.5 _Unwind_Resume@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_@GLIBCXX_3.4.9 _ZNSo9_M_insertIPKvEERSoT_@GLIBCXX_3.4.9 _ZNSolsEi@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@GLIBCXX_3.4.21 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE14_M_replace_auxEmmmc@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@GLIBCXX_3.4 _ZSt4cout@GLIBCXX_3.4 _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GLIBCXX_3.4 _ZSt7nothrow@GLIBCXX_3.4 -_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@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@CXXABI_1.3 _ZTIPKc@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
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@GLIBC_2.3.4 memcpy@GLIBC_2.14 memmove@GLIBC_2.2.5 memset@GLIBC_2.2.5 +modf@GLIBC_2.2.5 pow@GLIBC_2.2.5 __printf_chk@GLIBC_2.3.4 putchar@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