Conversation
|
Thank you for working on this. Regarding the process: I think it might be easier to update to the different betas one by one.That way its easier to maintain a good version and spot the source of an issue. I used to keep the commits separate as well, since they might be useful later when you want to use
I think it would be great if @collares wants to join. |
Agreed. I started from beta8 because we have already cherry-picked part of beta7, and I will stay at beta8 for a while. When the result of sage-tests become good enough, I will update to beta9, and then beta10, and so on. Thank you for your precious advice! |
Thanks for nominating me, @omasanori! I would be very happy to join and help with maintaining Sage. |
|
I guess we need to add |
|
I have tried to update this patch and a few dependencies, adapting @timokau's Singular update along the way. My changes are at https://github.com/collares/nixpkgs/tree/sage-9.3rc1 :) Feel free to use it as you like. Currently failing tests: |
|
Thank you so much for your assistance, @collares! |
|
Incorporated @collares's WIP branch into this PR. Thanks! |
|
@omasanori Good luck with your job! I'll try to keep updating my branch. Currently I am having trouble with generating Singular documentation due to some segfaults (Sage 9.3 uses the |
|
I have not dug the problem yet, but I picked https://trac.sagemath.org/ticket/31592 (included in 9.3rc3) for testing. Update: It still fails with |
|
Pushed an update to my branch. Documentation-building now fails in |
|
Ok, one more update on my branch. Singular can optionally use [0] I believe this is a bug, because |
It makes sense to me. Thank you so much for figuring out the problem! |
|
All tests are passing on x86_64! Well, unless you, like ofBorg, have a lot of CPUs (Singular/Singular#1086). The Singular bug is easy to patch but I'll wait a while before I patch it myself. I downgraded eclib because, weirdly, Sage 9.3 testsuite checks (in https://github.com/sagemath/sage/blob/develop/src/sage/schemes/elliptic_curves/ell_modular_symbols.py#L305) that eclib contains a certain bug. "Problem" is, the demonstrated bug is not present in eclib 20210223 anymore :) I can also just remove the offending line from the test. There's something weird happening when building Singular on aarch64 but I don't have a machine to debug it. Help wanted :) The error is: |
|
Earlier today I realized that Sage 9.2 is broken on master (four tests, some/all using Singular, produce different results). So instead of debugging that, I tied up some loose ends on my branch. With today's chagnes, I believe the Sage 9.3 upgrade is ready for review. If it gets reviewed before 21.05, I think we should include it into the May release. Sage doesn't really change much between the RC stage and the final release, and we wouldn't have to chase what changed in master (but if I had to guess, I would guess the FLINT upgrade). |
|
@omasanori Really sorry to cause more work for you, but it seems that I needed to revert |
Adds proper tests. Also removes the "enableFactory" option because singular actually enables factory by default and explicitly disabling it breaks the build. So the option was never really available.
|
No worries, and thank you for your tireless work, @collares! |
|
Now it freezes while building documentation. The last log line is for Some information: "vspace is a C++ library designed to allow processes in a multi-process environment to interoperate via mmapped shared memory. The library provides facilities for shared memory allocation and deallocation, shared mutexes, semaphores, queues, lists, and hash tables." Disabling vspace disables concurrency in a small amount of Singular libraries. Those libraries will still work with no change in functionality. |
Co-authored-by: Mauricio Collares <mauricio@collares.org>
|
To be honest I would be happy to see this land soon. Sage 9.2 is broken on master and this is starting to affect other PRs (I am glad @7c6f434c pointed #120614 out, for example). c12ef05 would need to be reverted before landing, though (Edit: I created #120648 for that). @7c6f434c The only changes here since you last reviewed things are the three new Singular commits, all of them aimed at fixing aarch64 (it worked!). |
|
Thank you all for your excellent work! |
timokau
left a comment
There was a problem hiding this comment.
Good work! Sorry for being a bit unresponsive.
I left a few post-merge comments. No big issues though. I hope we can update to a released version before the branch-off. That seems likely with the current schedule.
Thank you for keeping sage working and up to date :)
| pname = "threejs-sage"; | ||
| version = "r122"; | ||
|
|
||
| src = fetchFromGitHub { |
There was a problem hiding this comment.
It would be nice to build this from the upstream sources. This is probably more practical though, given the node packaging difficulties.
There was a problem hiding this comment.
I agree, we can and should build it from upstream sources! It was my original plan and I think I know how to do it (stealing a few tricks from the rust-analyzer VS Code extension package). I just didn't find the time to finish it and thought this would be a good enough stopgap given that two users complained about it (one on IRC, one in #118806) :) I'll have some more time next month to do this. But I think we would probably need to pin to a specific version of upstream threejs, since they're doing a ton of refactorings to use ES6 Modules and it would be too much of a moving target.
There was a problem hiding this comment.
That sounds good. Feel free to ping me if you end up working on it. Don't stress yourself about it though :)
| fetchSubmodules = true; | ||
| }; | ||
|
|
||
| patches = [ |
There was a problem hiding this comment.
All these patches and the sed line in postPatch are not nixos specific right? Are there corresponding upstream issues?
There was a problem hiding this comment.
Yes, agreed. Here are the things I need to do:
- Ask Singular developers if aarch64 support is a goal. If so, file the vspace-related hang (sage: 9.2 -> 9.3 #116365 (comment)). Filed issue zeroRadical.example hangs on a machine with 64 cpus Singular/Singular#1117.
- File an
autoconf-archivebug for the misbehaving cross-compilation macros (sage: 9.2 -> 9.3 #116365 (comment)). UPDATE: I decided not to do this because this is most likely a NixOS problem, see Unwrapped GCC is propagated to user environments #21751 (comment). - File an upstream Singular bug for docbuilding the manual without having all optional dependencies (sage: 9.2 -> 9.3 #116365 (comment)). Filed issue docbuilding fails if some optional dependencies are missing Singular/Singular#1118.
- File a Singular bug about replacing the weirdly-encoded character by
@cdot{}. Filed issue doc/decodegb.doc contains \xb7 bytes Singular/Singular#1087.
I will tick those boxes as I do those items.
There was a problem hiding this comment.
Actually @timokau, if you do have an aarch64 machine available, running Singular tests (removing the disable-vspace.patch patch) under gdb to diagnose vspace-related problems would be great. I don't think upstream will be able to solve the bug with the information I have.
There was a problem hiding this comment.
Going above and beyond, as always :)
I do have access to the community build box. My time for tinkering on open source things is unfortunately limited recently (it's always a question of priorities of course, but other things rank higher for me right now). I could run some tests for you, but digging into the hanging issue would probably require quite some time in the debugger.
Maybe upstream would already appreciate a report of the issue. They might consider applying the "disable vspace" workaround, even if they don't want to invest much time into aarch64 support.
There was a problem hiding this comment.
Makes sense! I will file a bug upstream, then I can debug later (perhaps asking for temporary access to the community build box). Thanks for the suggestion :)
There was a problem hiding this comment.
Sounds good. Feel free to mention me or link this conversation if you request access to the community build box. We have only interacted in a few GitHub PRs so far, but those interactions were all positive. You and @omasanori have taken over sage maintenance and I think the nixpkgs community is lucky to have you. Establishing trust over the internet is hard, but maybe this helps a bit. Thanks!
Thanks for the review and for the comments! Next time I do a Sage PR I will add the I also hope we can update to the final release before the branch-off. But if it doesn't work out we can always backport the update to 21.05, since Sage probably won't change much. |
No problem, @timokau! Your well-grounded work makes this possible. Thank you for your insightful review comments.
Absolutely. |
|
SageMath 9.3rc5 was tagged several hours ago with 7 positive-review tickets remaining. |
:)
|
Motivation for this change
This upgrades SageMath to a newer version.
Tips: You can test only particular tests to save resources by the following expression:
Candidates for new packages:
Things done
sandboxinnix.confon non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"./result/bin/)nix path-info -Sbefore and after)