-
-
Notifications
You must be signed in to change notification settings - Fork 491
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use and require C++17 instead of C++11 (in distro + sagelib) #37906
base: develop
Are you sure you want to change the base?
Conversation
Documentation preview for this PR (built with commit 49167d7; changes) is ready! 🎉 |
test / linux (ubuntu-focal, minimal) (and other platforms)
|
test / linux (fedora-30, minimal)
(This looks similar to JohnCremona/eclib#45) |
Tests on Linux at https://github.com/mkoeppe/sage/actions/runs/8906088062, on macOS at https://github.com/mkoeppe/sage/actions/runs/8906088065 |
Indeed already building lcalc gives (on standard-pre / linux (ubuntu-bionic-gcc_8, standard), standard-pre / linux (fedora-30, standard), standard-pre / linux (fedora-31, standard))
|
conda-forge has a workaround for this https://github.com/conda-forge/lcalc-feedstock/blob/main/recipe/build.sh#L6 |
On stage-1 / local-macos (12, homebrew-macos-usrlocal-standard)
|
Also
|
Also
|
Re eclib: the last release was asked for C++-11 (or later) and I recently changed to to C++-14, as I was not sure if it would make for difficulties if C++-17 was required. If not, I will change eclib's configure.ac to require C++-17 (some features of which I have avoided uusing up to now, for this reason). |
@JohnCremona For the platforms that Sage supports, using C++ 17 in eclib will be fine. Note that we use specific compiler packages for some of the oldest platforms though, as indicated in the platform list in https://github.com/sagemath/sage/wiki/Sage-10.4-Release-Tour#sources |
Thanks |
The compilers that we support have supported C++17 for a while (after scipy/numpy started to require this support; see #32074), but so far we have forced use of C++11.
Here we change it to forcing C++17.
The relevant m4 macros are updated from https://github.com/autoconf-archive/autoconf-archive/tree/master/m4
📝 Checklist
⌛ Dependencies
sage.libs.giac
: Compile with std=c++11 #38034