Created attachment 560062 [details]
This perl program:
use Wx ;
Gives these errors:
Fatal Error: Mismatch between the program and library build versions detected.
The library used 3.0 (wchar_t,compiler with C++ ABI 1010,wx containers,compatible with 2.8),
and your program used 3.0 (wchar_t,compiler with C++ ABI 1011,wx containers,compatible with 2.8).
I know this usually means something needs relinking, but can't tell what.
I rebuilt dev-perl/Wx (version 0.993.200-r1) without that helping.
This started happening after the big perl update (dev-lang/perl 5.24.3-r1) which seemed to update most of perl anyway.
You need to recompile wxGTK:3.0, because you've compiled Wx against a newer libstdc++ (C++ standard library, comes with the compiler typically, so you probably upgraded GCC), but not wxGTK, and wxGTK is picky about it.
Note the SLOT :3.0, which isn't :3.0-gtk3 that you get with emerge -1va wxGTK; try emerge -1va wxGTK:3.0
I rebuilt x11-libs/wxGTK-3.0.4-r300::gentoo
but still getting the same error. The real problem is the obscurity of the error message. Instead of saying "the library", "the program", the actual file names would be better.
All I knew was a largish perl program was dying. It took about 45 minutes to track it to the "use Wx" line. Even then its not straight forward finding out which library/program is out of date.
You rebuilt the wrong thing. I specifically said you need to rebuild :3.0, not :3.0-gtk3. wxGTK-3.0.4-r300 is :3.0-gtk3.
Sorry, rebuilding the right one did fix it.
This looks like something that can't be fixed automatically, I don't believe there's any mechanism we can employ in ebuilds to trigger automatic rebuilds when you switch your C++ ABI.
To the best of my understanding, the only "fix" here is to follow the "so, you've just upgraded GCC" guides.
If this is clearly not the case, please re-open this bug with more information.