[GNC-dev] Master now requires C++17

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[GNC-dev] Master now requires C++17

John Ralls-2
After a bit of a false start last week I've set the master branch--the one that we'll release in a few months as GnuCash 4.0--to build its C++ files with C++17.

From a coding standpoint that pretty much affects only Geert and me: No one else is actively working with C++.

From a building and using standpoint it means that you're going to need a fairly recent distro or operating system release: The required compilers are gcc 8.0 and clang 6.0, and boost must in general be 1.67 or later. I say in general because we found that although Ubuntu 18.04 *nominally* ships with boost 1.65, they've patched the one library (boost::locale) that had a C++17 incompatibility until 1.67 so GnuCash builds. There may be others that have done something similar.

Other distros we tested on: Debian Buster, Bullseye, and Sid; Fedora 28, 29, and 30; OpenSuSE Tumbleweed (Leap 15.2 doesn't work). OpenBSD doesn't work (boost is too old).

MacOS will require Sierra or later.

Regards,
John Ralls

_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: [GNC-dev] Master now requires C++17

David Cousens
John,

Defaults on Linux Mint 19.2 are:
 
gcc      7.4.0 (gcc  8.3.0 is  available for Ubuntu 18.04 (Bionic) at
https://packages.ubuntu.com/bionic/gcc-8)
 
clang    6.0.0

libboost 1.65.1 (it will likely be patched as it is Ubuntu 18.04 based.
There is also a ppa where libboost 1.67 is available for 18.04
https://asciinema.org/a/199344 if you are not averse to installing from non
distro resources.)

David



-----
David Cousens
--
Sent from: http://gnucash.1415818.n4.nabble.com/GnuCash-Dev-f1435356.html
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
David Cousens