You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.5 KiB
38 lines
1.5 KiB
Description: Suppress error about mismatching C++ ABI version |
|
In practice, the differences between recent ABI versions don't seem to be |
|
incompatible since they apparently only affect obscure corner cases. So |
|
suppress this error so we don't have to rebuild the entire wx world in one |
|
go. |
|
Author: Olly Betts <olly@survex.com> |
|
Forwarded: no |
|
Last-Update: 2017-07-26 |
|
|
|
--- a/src/common/appbase.cpp |
|
+++ b/src/common/appbase.cpp |
|
@@ -766,6 +766,26 @@ |
|
msg.Printf(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."), |
|
lib.c_str(), progName.c_str(), prog.c_str()); |
|
|
|
+ int l_off = lib.Find("compiler with C++ ABI "); |
|
+ int p_off = prog.Find("compiler with C++ ABI "); |
|
+ if (l_off != wxNOT_FOUND && p_off != wxNOT_FOUND) { |
|
+ int space; |
|
+ space = lib.find(',', l_off + 22); |
|
+ lib.erase(l_off, space - l_off); |
|
+ space = prog.find(',', p_off + 22); |
|
+ prog.erase(p_off, space - p_off); |
|
+ if (lib == prog) { |
|
+ // The only difference is the ABI version, which apparently only |
|
+ // affect obscure cases. We used to warn here, so at least |
|
+ // there was an indication of what's up if there is a problem |
|
+ // due to ABI incompatibilities, but wxLogWarning() can result |
|
+ // in a pop up dialog with some applications, which is just too |
|
+ // intrusive, so just quietly ignore instead. |
|
+ //wxLogWarning(msg.c_str()); |
|
+ return false; |
|
+ } |
|
+ } |
|
+ |
|
wxLogFatalError(msg.c_str()); |
|
|
|
// normally wxLogFatalError doesn't return
|
|
|