Mailinglist Archive: opensuse-factory (745 mails)

< Previous Next >
Re: [opensuse-packaging] Re: [opensuse-factory] Why has -fstack-clash-protection been added to optflags?

On 24/01/2018 12:02, Richard Biener wrote:
Fatal Error: Mismatch between the program and library build versions
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

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
// check if compiler versions are compatible:
#if defined(__GXX_ABI_VERSION)
// The changes between ABI versions 1002 through 1010 (documented at
// 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))

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 ...


Thanks Richard, you've given me some things to try out, maybe audacity built with gcc7 will work with wxWidgets built with gcc5. I've explored the abi check function in the past with intent to patch it out but had to use my time for other work.
To unsubscribe, e-mail: opensuse-factory+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-factory+owner@xxxxxxxxxxxx

< Previous Next >