1 Description: Suppress error about mismatching C++ ABI version
2 In practice, the differences between recent ABI versions don't seem to be
3 incompatible since they apparently only affect obscure corner cases. So
4 suppress this error so we don't have to rebuild the entire wx world in one
6 Author: Olly Betts <olly@survex.com>
8 Last-Update: 2017-07-26
10 --- a/src/common/appbase.cpp
11 +++ b/src/common/appbase.cpp
13 msg.Printf(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
14 lib.c_str(), progName.c_str(), prog.c_str());
16 + int l_off = lib.Find("compiler with C++ ABI ");
17 + int p_off = prog.Find("compiler with C++ ABI ");
18 + if (l_off != wxNOT_FOUND && p_off != wxNOT_FOUND) {
20 + space = lib.find(',', l_off + 22);
21 + lib.erase(l_off, space - l_off);
22 + space = prog.find(',', p_off + 22);
23 + prog.erase(p_off, space - p_off);
25 + // The only difference is the ABI version, which apparently only
26 + // affect obscure cases. We used to warn here, so at least
27 + // there was an indication of what's up if there is a problem
28 + // due to ABI incompatibilities, but wxLogWarning() can result
29 + // in a pop up dialog with some applications, which is just too
30 + // intrusive, so just quietly ignore instead.
31 + //wxLogWarning(msg.c_str());
36 wxLogFatalError(msg.c_str());
38 // normally wxLogFatalError doesn't return