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
Upgrade to NTL 11.3.2 #25532
Comments
This comment has been minimized.
This comment has been minimized.
Branch: public/25532 |
Commit: |
Dependencies: 23341 |
comment:5
NTL compiles with I've added a work in progress PR that also updates the C standard for flint (necessary, see flintlib/flint#487). However sagelib won't build because lcalc still compiles with gnu++98 (#23341). New commits:
|
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
comment:7
It is not necessary to explicitly set New commits:
|
comment:8
Add a |
Changed dependencies from 23341 to #23341 |
comment:9
Why does this depend on #23341? How is lcalc related to NTL? |
comment:10
ntl 11 uses c++11, so "distutils: extra_compile_args = -std=gnu++98" has to be removed from sage/libs/lcalc/lcalc_Lfunction (which depends on both ntl and lcalc), so lcalc headers need to be c++11 compliant. FWIW, I've already bumped ntl on Arch, and it mostly works fine in practice. The main issue is that it seems to bail out on some degenerate input, eg
|
comment:11
Gentoo also has already updated ntl and apparently applied some patches to fix issues. dimpase/lcalc#1 applies similar patches and updates lcalc to latest master (long unmaintained). That seems ready to merge, but was apparently forgotten or something. |
comment:12
Replying to @antonio-rojas:
It technically "depends" on NTL but for no good reason. If that's the only issue, untangling this dependency would be the easiest solution. |
comment:13
I'm not sure its the only issue, its just the first non-trivial one I encountered. @kiwifb probably knows more about that as he apparently already has proper patches for gentoo. |
comment:14
Replying to @timokau:
I'll confess that I am not sure what we are talking about here. Patch to |
comment:15
Oh I just assumed that you used ntl 11 with sage because you mentioned in dimpase/lcalc#1 that you patched your lcalc for c++11 support. |
comment:16
Replying to @timokau:
I seriously need to check to see if I use C++11 with lcalc. I have a good memory but not that good. |
comment:17
OK I patch enough that it compile out of the box with g++-7.3.0 without passing a
Of course no one should use those kinds of headers in the first place. I am sure it is fixed in the pull request you are quoting at least. |
comment:18
But really we should talk about lcalc in another ticket. |
This comment has been minimized.
This comment has been minimized.
comment:21
When I tried to update to the last version before 11.0 (10.5.0) I got an interesting error:
10.4.0 is the last version that works without any changes. |
comment:22
Replying to @timokau:
I am currently on 10.5.0 in gentoo, how do you get that problem? |
Changed reviewer from Dima Pasechnik, Volker Braun to Dima Pasechnik, Volker Braun, Travis Scrimshaw |
comment:82
I am kicking this back to the patchbots for final testing as this works on my machine. |
comment:83
Please give me a chance to test this on Cygwin. |
Changed reviewer from Dima Pasechnik, Volker Braun, Travis Scrimshaw to Dima Pasechnik, Volker Braun, Travis Scrimshaw, Erik Bray |
comment:86
Alright, I think this is probably fine. I haven't run the full test suite yet, but it looks good based on an informed subset. If I notice anything after running the full tests I'll create a follow-up. Thank you for waiting. |
Changed branch from public/25532 to |
Changed commit from |
comment:88
how do I change |
comment:89
I don't particularly like the fact that the macro for C++ standard looks for gnu++11 before c++11 but that's what it is. You can just add |
comment:90
Replying to @kiwifb:
no, this does not work. Which packages do need gnu++11 rather than c++11? I am trying now to set c++11 on Darwin globally, IIRC it used to work. |
comment:91
OK to set up things globally you may want to go back to the macro setting c++11/gnu++11 as the standard at https://github.com/sagemath/sage-prod/blob/develop/build/pkgs/gcc/spkg-configure.m4#L97 and follow the model of fplll that asks specifically for c++11 https://github.com/fplll/fplll/blob/master/configure.ac#L56 (but do not make it mandatory). From what I see, it would be a good idea to update the macro Now the question is whether you want to try c++11 instead as the general default or just for OS X. My understanding is that cygwin works better with gnu++11. |
comment:93
Replying to @kiwifb:
Roughly speaking, as I understand it, the reason I have no idea what the problem is on macOS, but presumably there's something that is enabled in NTL when using |
comment:94
It turns out to be a red herring. However, one thing I noticed that for fplll there is setting of |
comment:95
Replying to @dimpase:
This is on purpose. Before I enabled c++11/gnu++11 globally, it was already in place. The reason is that fplll's configure script requires a strict c++11 compiler as noted above. But cygwin needs a gnu++11 one to compile fplll. So we need to override fplll's decision on cygwin. Don't go removing it. |
The last upgrade in Sage was to NTL 10.3.0 in ticket #22869.
CC: @kiwifb @timokau @infinity0 @jdemeyer @jpflori @nexttime @saraedum @slel @tobihan @tscrim @vbraun
Component: packages: standard
Keywords: upgrade, ntl
Author: Timo Kaufmann, François Bissey
Branch:
9aa1288
Reviewer: Dima Pasechnik, Volker Braun, Travis Scrimshaw, Erik Bray
Issue created by migration from https://trac.sagemath.org/ticket/25532
The text was updated successfully, but these errors were encountered: