Package: mathic
Version: 1.0~git20160320-2
Severity: minor
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu yakkety ubuntu-patch

Hi Doug,

The Ubuntu ppc64el port uses -O3 optimization for package builds by default. 
Under -O3, there are a number of template symbols that are not exported in
libmathic because they wind up inlined instead.  As a result, mathic fails
to build with a mismatched symbols file error.

The attached patch has been applied in Ubuntu to mark these additional
symbols optional, since they are not part of the ABI, and allows the package
to build wherever -O3 is used.

Thanks for considering the patch.
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org
diff -Nru mathic-1.0~git20160320/debian/libmathic0v5.symbols mathic-1.0~git20160320/debian/libmathic0v5.symbols
--- mathic-1.0~git20160320/debian/libmathic0v5.symbols	2016-03-26 01:03:32.000000000 -0700
+++ mathic-1.0~git20160320/debian/libmathic0v5.symbols	2016-07-11 12:00:18.000000000 -0700
@@ -67,7 +67,7 @@
  _ZN6mathic16IntegerParameterD0Ev@Base 1.0~git20130827
  _ZN6mathic16IntegerParameterD1Ev@Base 1.0~git20130827
  _ZN6mathic16IntegerParameterD2Ev@Base 1.0~git20130827
- (arch=!arm64 !hppa)_ZN6mathic16createWithPrefixINS_6ActionEEESt10unique_ptrIT_St14default_deleteIS3_EERKNS_11NameFactoryIS3_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.0~git20160320
+ (optional|arch=!arm64 !hppa)_ZN6mathic16createWithPrefixINS_6ActionEEESt10unique_ptrIT_St14default_deleteIS3_EERKNS_11NameFactoryIS3_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.0~git20160320
  _ZN6mathic16displayExceptionERKSt9exception@Base 1.0~git20130827
  _ZN6mathic19reportInternalErrorERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.0~git20160320
  _ZN6mathic19reportInternalErrorERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKcj@Base 1.0~git20160320
@@ -102,6 +102,7 @@
  _ZNK6mathic10HelpAction5topicB5cxx11Ev@Base 1.0~git20160320
  _ZNK6mathic11BitTriangle12getMemoryUseEv@Base 1.0~git20130827
  _ZNK6mathic11NameFactoryINS_6ActionEE15namesWithPrefixERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt6vectorIS8_SaIS8_EE@Base 1.0~git20160320
+ (optional)_ZNK6mathic11NameFactoryIPvE15namesWithPrefixERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt6vectorIS8_SaIS8_EE@Base 1.0~git20160320
  _ZNK6mathic13BoolParameter12argumentTypeB5cxx11Ev@Base 1.0~git20160320
  _ZNK6mathic13BoolParameter13valueAsStringB5cxx11Ev@Base 1.0~git20160320
  _ZNK6mathic13ColumnPrinter14getColumnCountEv@Base 1.0~git20130827
@@ -136,9 +137,9 @@
  (arch-bits=32)_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPPN6mathic12CliParameterESt6vectorIS4_SaIS4_EEEEiS4_NS0_5__ops15_Iter_comp_iterIPFbS4_S4_EEEEvT_T0_SG_T1_T2_@Base 1.0~git20130827
  (arch-bits=64)_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPPN6mathic12CliParameterESt6vectorIS4_SaIS4_EEEElS4_NS0_5__ops15_Iter_comp_iterIPFbS4_S4_EEEEvT_T0_SG_T1_T2_@Base 1.0~git20130827
  _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEENS0_5__ops15_Iter_less_iterEEvT_SF_T0_@Base 1.0~git20160320
- _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPN6mathic12CliParameterESt6vectorIS4_SaIS4_EEEENS0_5__ops15_Iter_comp_iterIPFbS4_S4_EEEEvT_SF_T0_@Base 1.0~git20130827
+ (optional)_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPN6mathic12CliParameterESt6vectorIS4_SaIS4_EEEENS0_5__ops15_Iter_comp_iterIPFbS4_S4_EEEEvT_SF_T0_@Base 1.0~git20130827
  (arch-bits=32)_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPPN6mathic12CliParameterESt6vectorIS4_SaIS4_EEEEiNS0_5__ops15_Iter_comp_iterIPFbS4_S4_EEEEvT_SF_T0_T1_@Base 1.0~git20130827
- (arch-bits=64)_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPPN6mathic12CliParameterESt6vectorIS4_SaIS4_EEEElNS0_5__ops15_Iter_comp_iterIPFbS4_S4_EEEEvT_SF_T0_T1_@Base 1.0~git20130827
+ (optional|arch-bits=64)_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPPN6mathic12CliParameterESt6vectorIS4_SaIS4_EEEElNS0_5__ops15_Iter_comp_iterIPFbS4_S4_EEEEvT_SF_T0_T1_@Base 1.0~git20130827
  (arch=any-amd64 any-i386 s390x)_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEENS0_5__ops14_Val_less_iterEEvT_T0_@Base 1.0~git20160320
  _ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEENS0_5__ops16_Iter_equals_valIKS7_EEET_SH_SH_T0_St26random_access_iterator_tag@Base 1.0~git20160320
  (arch=any-amd64 any-i386 arm64 s390x)_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_@Base 1.0~git20160320
@@ -146,7 +147,7 @@
  (arch=any-amd64 any-i386 arm64 s390x)_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S5_@Base 1.0~git20160320
  (arch=any-amd64 any-i386 arm64 s390x)_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_@Base 1.0~git20160320
  _ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_@Base 1.0~git20160320
- _ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EES5_RKS8_@Base 1.0~git20160320
+ (optional)_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EES5_RKS8_@Base 1.0~git20160320
  _ZTIN6mathic10HelpActionE@Base 1.0~git20130827
  _ZTIN6mathic12CliParameterE@Base 1.0~git20130827
  _ZTIN6mathic13BoolParameterE@Base 1.0~git20130827

Reply via email to