On 2017-06-28 10:24+0200 David Macek wrote:
On 28. 6. 2017 10:15, Alan W. Irwin wrote:
Let's assume that your repositories are all ABI compatible (i.e.,
built with g++ compiler versions that correspond to just one
-fabi-version number) as they should be. Then a fundamental issue is
a user has a choice of many different g++ compiler suite versions
packaged by MinGW-MSYS2.
There's only one toolchain and I would assume that the default ABI version
should always the compatible one. That's assuming that packages can't/won't
enforce their own ABI versions (which I don't know is or isn't true).
If you look at <http://repo.msys2.org/mingw/x86_64/> the gcc version
range is 5.1.0 to 6.3.0. If you look at
<http://repo.msys2.org/msys/x86_64/> the gcc version range is
4.9.2 to 6.3.0. So it appears you are right, if a user updates
to the latest, they will get a consistent gcc version (6.3.0).
So it appears Arjen did such an upgrade which corresponds to C++ ABI
1010 according to
<https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html>.
But from the same source and what is available in the above
repositories, ABI 1008 (the version used to build the wxwidgets
libraries according to the original error message) likely corresponds
to gcc version 5.1.0. That is, the fundamental issue is your official
repository build of wxwidgets libraries is out of date, i.e., it was
done with 5.1.0 which is not ABI compatible (unless the user specifies
-fabi-version=8 for his builds) with the latest gcc version that is
available to users (6.3.0).
One way to deal with this issue is to rebuild your repositories every
time a new gcc version becomes available to users. But that is likely a lot
of work you don't want to do so an easier alternative is to have
special gcc packages available to the user that are guaranteed to be
the same as the version of gcc used for the library build.
While you are figuring out which way you want to deal with this ABI
compatibility issue, I would advise Arjen to work around this problem
by doing all his builds with the g++ option -fabi-version=8 which
according to the documentation at
<https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html>
should make his 6.3.0 build of wxwidgets-related components of ABI
consistent with the offical 5.1.0 library build of the MinGW-w64/MSYS2
wxwidgets package.
Alan
__________________________
Alan W. Irwin
Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).
Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________
Linux-powered Science
__________________________
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Msys2-users mailing list
Msys2-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/msys2-users