[GRASS-user] wxpython and wxgtk c++ abi mismatch error - how to fix?

Maris Nartiss maris.gis at gmail.com
Mon Aug 2 23:15:11 PDT 2021


As a former Gentoo user, I feel your pain. Unfortunately there is
nothing we can do, you must rebuild wxgtk and then rebuild wxpython as
building one and not other with the same g++ version is a path to hard
to predict random failures. And pray the mighty toolchain goods that
you have only one version of wxgtk installed as otherwise build
process might compile wxpython against a different wxgtk version than
one used during runtime (= leading to a fail).

Good luck & wait for winter when recompiling will pay off by reduce
your heating bills ;-)
Māris.

2021-08-02 23:23 GMT+03:00, Donovan Cameron <sault.don at gmail.com>:
> My system info:
>
> OS: Arch Linux
> GRASS: 7.8.5
> wxgtk3: 3.0.5.1
> python-wxpython: 1:4.0.7.2
>
> To compile GRASS I have python-wxpython set as a dependency and it
> builds fine but I always get this warning on startup of GRASS:
>
>     % grass78 --gui
>     Starting GRASS GIS...
>     12:54:21: Warning: Mismatch between the program and library build
>     versions detected.
>     The library used 3.0 (wchar_t,compiler with C++ ABI 1014,wx
>     containers,compatible with 2.8),
>     and wxPython used 3.0 (wchar_t,compiler with C++ ABI 1016,wx
>     containers,compatible with 2.8).
>
> Recently, the GUI started to crash without any error or warning. It
> launches a location/project and as soon as the two windows load (map and
> layer windows) they just crash after a few seconds. No output in
> terminal to indicate the cause. Can still execute command line GRASS no
> problem though, so it doesn't crash the entire program just the GUI.
>
> I've never really understood what causes the warning and now this crash
> - do I need to re-compile wxgtk3[1] and python-wxpython[2] to fix it?
> They do take a little bit of time to compile so curious if anyone has
> encountered this as well and has some insight before I dive in!
>
> I'm thinking the error is because the compiler used has some differences
> to it as seen from C++ ABI 1014 and 1016.
>
> The wxgtk package in Arch Linux has a 6 year old patch[3] applied that
> has that exact warning in it and the comment for the patch in the
> PKGBUILD is:
>
>     # C++ ABI check is too strict and breaks with GCC 5.1
>     # https://bugzilla.redhat.com/show_bug.cgi?id=1200611
>
>
>
> Thanks,
>
> Donovan (saultdon)
>
>
> [1]
> https://github.com/archlinux/svntogit-packages/blob/packages/wxgtk/trunk/PKGBUILD
> [2]
> https://github.com/archlinux/svntogit-community/blob/packages/python-wxpython/trunk/PKGBUILD
> [3]
> https://github.com/archlinux/svntogit-packages/blob/packages/wxgtk/trunk/make-abicheck-non-fatal.patch
>


More information about the grass-user mailing list