During the rebase of C::B in Fedora to the new 20.03 release we discovered, that the build fails on armv7/armhfp architecture with
/usr/bin/ld: .libs/cbkeyConfigPanel.o:(.rodata+0x14): multiple definition of `typeinfo name for cbKeyBinder'; .libs/cbkeybinder.o:(.rodata+0x0): first defined here
/usr/bin/ld: .libs/cbkeyConfigPanel.o:(.data.rel.ro+0xc): multiple definition of `typeinfo for cbKeyBinder'; .libs/cbkeybinder.o:(.data.rel.ro+0x0): first defined here
collect2: error: ld returned 1 exit status
I reported it to our toolchain team as https://bugzilla.redhat.com/show_bug.cgi?id=1819154 and the conclusion is that #pragma implementation "cbkeybinder.h" must be used in a single source file (translation unit, TU), but both cbkeybinder.cpp and cbkeyConfigPanel.cpp contain it. Perhaps you wanted to #pragma implementation "cbKeyConfigPanel.h" in cbkeyConfigPanel.cpp. Their recomendation is to drop those pragmas completely.
That is a good point. My personal view on that is that pragmas always have been a pita. We will remove this particular one. Is there anything additional we can do so that you can continue providing builds? I.e. provide a new source tarball or also commit these changes to the release branch?
Fixed in SVN trunk. Let me know if further changes are needed...
No special requirements by me, but a commit in the release branch would be useful. Same is true for revision 12008 (from ticket #935).
I've done both: Merged the revison with the respetive changes (bug 935 and 936) into the release branch and updated the release tag 20.03. Let me know in case there is still trouble...