Source: mpdecimal Version: 2.5.0-4 Severity: serious Tags: ftbfs patch User: helm...@debian.org Usertags: rebootstrap
mpdecimal has a number of symbols whose appearance is quite dependent on the precise compiler version. These tend to be symbols for inlined functions and template instantiations. This presently causes FTBFS in bullseye, e.g.: https://tests.reproducible-builds.org/debian/rbuild/bullseye/amd64/mpdecimal_2.5.0-4.rbuild.log.gz https://tests.reproducible-builds.org/debian/rbuild/bullseye/arm64/mpdecimal_2.5.0-4.rbuild.log.gz https://tests.reproducible-builds.org/debian/rbuild/bullseye/armhf/mpdecimal_2.5.0-4.rbuild.log.gz This happens, because the bullseye toolchain was not exactly the same as the unstable toolchain at the time of the build and the compiler decided to instantiate symbols differently. Instead of changing symbols back and forth, I suggest simply marking them as optional. Beyond this, you can use arch-bits=32 and arch-bits=64 to remove the need for interpolating the symbol file since that feature is now present in oldstable. I'm attaching a patch for the optional stuff for your convenience. Helmut
diff --minimal -Nru mpdecimal-2.5.0/debian/changelog mpdecimal-2.5.0/debian/changelog --- mpdecimal-2.5.0/debian/changelog 2020-08-06 15:33:23.000000000 +0200 +++ mpdecimal-2.5.0/debian/changelog 2020-09-22 19:35:08.000000000 +0200 @@ -1,3 +1,10 @@ +mpdecimal (2.5.0-4.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Mark optional symbols as optional. (Closes: #-1) + + -- Helmut Grohne <hel...@subdivi.de> Tue, 22 Sep 2020 19:35:08 +0200 + mpdecimal (2.5.0-4) unstable; urgency=medium * Update symbols files. diff --minimal -Nru mpdecimal-2.5.0/debian/libmpdec.symbols.in mpdecimal-2.5.0/debian/libmpdec.symbols.in --- mpdecimal-2.5.0/debian/libmpdec.symbols.in 2020-08-06 15:33:23.000000000 +0200 +++ mpdecimal-2.5.0/debian/libmpdec.symbols.in 2020-09-22 19:35:08.000000000 +0200 @@ -416,22 +416,22 @@ _ZN7decimal9UnderflowD2Ev@Base 2.5 _ZN7decimallsERSoRKNS_7ContextE@Base 2.5 _ZN7decimallsERSoRKNS_7DecimalE@Base 2.5 - (arch=ia64)_ZN9__gnu_cxx12__to_xstringINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEET_PFiPT0_mPKS8_PvEmSB_z@Base 2.5 + (optional=templinst)_ZN9__gnu_cxx12__to_xstringINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEET_PFiPT0_mPKS8_PvEmSB_z@Base 2.5 _ZNK7decimal10ValueError4whatEv@Base 2.5 _ZNK7decimal11MallocError4whatEv@Base 2.5 _ZNK7decimal12RuntimeError4whatEv@Base 2.5 _ZNK7decimal16DecimalException4whatEv@Base 2.5 _ZNK7decimal7Context4reprB5cxx11Ev@Base 2.5 _ZNK7decimal7Decimal4reprB5cxx11Eb@Base 2.5 - (arch=!ia64 !ppc64el !kfreebsd-amd64 !kfreebsd-i386)_ZNK7decimal7Decimal6to_sciB5cxx11Eb@Base 2.5 - (arch=ia64)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv@Base 2.5 - (arch=!armel !riscv64)_ZNSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 2.5 - (arch=!armel !riscv64)_ZNSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 2.5 - (arch=!armel !riscv64)_ZNSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 2.5 - (arch=!armel !riscv64)_ZNSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 2.5 - (arch=!armel !riscv64)_ZNSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 2.5 - (arch=ia64)_ZNSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 2.5 - (arch=ia64)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag@Base 2.5 + (optional=inline)_ZNK7decimal7Decimal6to_sciB5cxx11Eb@Base 2.5 + (optional=templinst)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv@Base 2.5 + (optional=templinst)_ZNSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 2.5 + (optional=templinst)_ZNSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 2.5 + (optional=templinst)_ZNSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 2.5 + (optional=templinst)_ZNSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 2.5 + (optional=templinst)_ZNSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 2.5 + (optional=templinst)_ZNSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 2.5 + (optional=templinst)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag@Base 2.5 _ZTHN7decimal7contextE@Base 2.5 _ZTHN7decimal7contextE@Base 2.5 _ZTIN7decimal10ValueErrorE@Base 2.5 @@ -450,13 +450,13 @@ _ZTIN7decimal8OverflowE@Base 2.5 _ZTIN7decimal9SubnormalE@Base 2.5 _ZTIN7decimal9UnderflowE@Base 2.5 - (arch=!armel !riscv64)_ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.5 - (arch=!armel !riscv64)_ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.5 - (arch=!armel !riscv64)_ZTISt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 2.5 - (arch=armel riscv64)_ZTIN9__gnu_cxx7__mutexE@Base 2.5 - (arch=armel riscv64)_ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 2.5 - (arch=armel riscv64)_ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 2.5 - (arch=armel riscv64)_ZTISt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 2.5 + (optional=templinst)_ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.5 + (optional=templinst)_ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.5 + (optional=templinst)_ZTISt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 2.5 + (optional=templinst)_ZTIN9__gnu_cxx7__mutexE@Base 2.5 + (optional=templinst)_ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 2.5 + (optional=templinst)_ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 2.5 + (optional=templinst)_ZTISt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 2.5 (arch=armhf)_ZTIZN7decimal4util9shared_cpEPKcEUlS2_E_@Base 2.5 _ZTSN7decimal10ValueErrorE@Base 2.5 _ZTSN7decimal11MallocErrorE@Base 2.5 @@ -474,13 +474,13 @@ _ZTSN7decimal8OverflowE@Base 2.5 _ZTSN7decimal9SubnormalE@Base 2.5 _ZTSN7decimal9UnderflowE@Base 2.5 - (arch=!armel !riscv64)_ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.5 - (arch=!armel !riscv64)_ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.5 - (arch=!armel !riscv64)_ZTSSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 2.5 - (arch=armel riscv64)_ZTSN9__gnu_cxx7__mutexE@Base 2.5 - (arch=armel riscv64)_ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 2.5 - (arch=armel riscv64)_ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 2.5 - (arch=armel riscv64)_ZTSSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 2.5 + (optional=templinst)_ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.5 + (optional=templinst)_ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.5 + (optional=templinst)_ZTSSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 2.5 + (optional=templinst)_ZTSN9__gnu_cxx7__mutexE@Base 2.5 + (optional=templinst)_ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 2.5 + (optional=templinst)_ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 2.5 + (optional=templinst)_ZTSSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 2.5 _ZTSZN7decimal4util9shared_cpEPKcEUlS2_E_@Base 2.5 _ZTVN7decimal10ValueErrorE@Base 2.5 _ZTVN7decimal11MallocErrorE@Base 2.5 @@ -498,4 +498,4 @@ _ZTVN7decimal8OverflowE@Base 2.5 _ZTVN7decimal9SubnormalE@Base 2.5 _ZTVN7decimal9UnderflowE@Base 2.5 - (arch=!armel !riscv64)_ZTVSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 2.5 + (optional=templinst)_ZTVSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 2.5