On 24/01/2018 12:02, Richard Biener wrote:
Error message from console reads thus:
audacity Fatal Error: Mismatch between the program and library build versions detected. The library used 3.0 (wchar_t,compiler with C++ ABI 1002,wx containers,compatible with 2.8), and your program used 3.0 (wchar_t,compiler with C++ ABI 1009,wx containers,compatible with 2.8).
this seems to be a premature check done by wxWidgets / audacity? They appear to key on __GXX_ABI_VERSION but almost_nothing_ changes when this version changes. It's really only for corner cases like fixing mangling with vectors and attributes. For packages you could also simply downgrade the ABI version via -fabi-version=N (but then you'd have to have a way to communicate the ABI version chosen to compile wxWidgets to wxWidget users). There is also the corresponding -Wabi=N so you can instead do -Wabi=N (ABI version used to compile wxWidget).
Can you somehow disable this checking for wxWidgets? It seems_really_ odd they invented this.
Googling reveals the current upstream version has
// GCC and Intel C++ share same C++ ABI (and possibly others in the future), // check if compiler versions are compatible: #if defined(__GXX_ABI_VERSION) // The changes between ABI versions 1002 through 1010 (documented at //https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html // under -fabi-version) don't affect wxWidgets, so we allow a library // and an application to differ within that range. #if ((__GXX_ABI_VERSION >= 1002) && (__GXX_ABI_VERSION <= 1010)) #define wxGXX_EFFECTIVE_ABI_VERSION 1002 #else #define wxGXX_EFFECTIVE_ABI_VERSION __GXX_ABI_VERSION #endif
so wouldn't have complained like in bnc#1074040. GCC 7 introduces version 11 which I bet also doesn't affect wxWidgets... quoting the docs:
Version 11, which first appeared in G++ 7, corrects the mangling of sizeof... expressions and operator names. For multiple entities with the same name within a function, that are declared in different scopes, the mangling now changes starting with the twelfth occurrence. It also implies @option{-fnew-inheriting-ctors}.
Just patch this insanity out ...
Richard. Seems I was panicking for no reason, audacity built with gcc7 in Leap:42.3 works fine with gcc5 built wxWidgets-3_0-nostl. Thanks all Dave -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org