Conversation
|
eclib needs patching too (builds fine but crashes at runtime) JohnCremona/eclib#87 |
|
Documentation preview for this PR (built with commit 048c572; changes) is ready! 🎉 |
bb2f8f8 to
71228c8
Compare
71228c8 to
4966f07
Compare
|
This PR now works for me, but doesn't fix #40253 when using gcc 15 |
I will shortly be merging @antonio-rojas 's eclib patch there, so either that patch needs to applied in Sage, or I canmake a new eclib release which Sage will need to use and make as a prerequisite for this PR. Sorry about this, there was a backwards-incompatible change in FLINT. |
|
The eclib patch is already in this PR, fyi |
Any idea why? I got the same result, built but segfault. |
|
We've narrowed the segfault down to flint miscompiling with gcc 15, see flintlib/flint#2340 for details |
Flint miscompiles with gcc 15, workaround is to compile with -fno-strict-aliasing This is also what Fedora does: https://src.fedoraproject.org/rpms/flint/blob/rawhide/f/flint.spec#_97-98 See flintlib/flint#2340 for upstream bug report
|
It works for me! |
|
I've added the -fno-strict-aliasing to the cflags, but I still get Though not sure if its related to flint, might be another gcc 15 issue. Afaik thats just using pari so no flint involved... |
That's a random issue, I've beed getting it occasionally for a long time |
|
Ah true, using different random seed "fixes" the two descent ;) So this PR is ready for review. |
|
there's now en eclib release including the patch, and also a 3.3.1 flint bugfix release. |
|
I've updated the patch for flint-3.3.1, though it still segfaults without The new eclib release doesn't build with gcc-14, I've opened JohnCremona/eclib#88 |
048c572 to
31faf32
Compare
|
I've upgraded the PR to eclib 20250627, now eclib does not need the flint compatibility patch any more It would be nice to get this reviewed so we can make a release that actually works on Fedora.... |
|
I tried this in two computers. In the second one, fresh compilation, everything is fine, only one test did not pass (as in #38544 (comment)); the compilation failed in maxima using system ecl, it worked with the spkg. |
31faf32 to
8253d12
Compare
Straightforward upgrade to the latest release Apparently Singluar is not yet compatible with it ``` [singular-4.4.1] [spkg-install] /usr/bin/bash ./libtool --tag=CXX --mode=compile g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I./include -I./include -I. -DFACTORY_BUILDING_DLL -I/home/vbraun/Sage/git/local/var/tmp/sage/build/singular-4.4.1/src -I/home/vbraun/Sage/git/local/var/tmp/sage/build/singular-4.4.1/src -I/home/vbraun/Sage/git/local/include/ -I/home/vbraun/Sage/git/local/include -I/home/vbraun/Sage/git/local/include -DSING_NDEBUG -DOM_NDEBUG -g -O2 -pipe -fno-common -g0 -O3 -Wno-unused-function -Wno-trigraphs -Wno- unused-parameter -Wunknown-pragmas -Wno-unused-variable -fomit-frame- pointer -fwrapv -fvisibility=default -finline-functions -fno-exceptions -fno-threadsafe-statics -fno-enforce-eh-specs -fconserve-space -funroll- loops -fno-rtti -c -o FLINTconvert.lo FLINTconvert.cc [singular-4.4.1] [spkg-install] libtool: compile: g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I./include -I./include -I. -DFACTORY_BUILDING_DLL -I/home/vbraun/Sage/git/local/var/tmp/sage/build/singular-4.4.1/src -I/home/vbraun/Sage/git/local/var/tmp/sage/build/singular-4.4.1/src -I/home/vbraun/Sage/git/local/include/ -I/home/vbraun/Sage/git/local/include -I/home/vbraun/Sage/git/local/include -DSING_NDEBUG -DOM_NDEBUG -g -O2 -pipe -fno-common -g0 -O3 -Wno-unused-function -Wno-trigraphs -Wno- unused-parameter -Wunknown-pragmas -Wno-unused-variable -fomit-frame- pointer -fwrapv -fvisibility=default -finline-functions -fno-exceptions -fno-threadsafe-statics -fno-enforce-eh-specs -fconserve-space -funroll- loops -fno-rtti -c FLINTconvert.cc -fPIC -DPIC -o .libs/FLINTconvert.o [singular-4.4.1] [spkg-install] FLINTconvert.cc: In function 'void convertFacCFMatrix2Fq_nmod_mat_t(fq_nmod_mat_struct*, const fq_nmod_ctx_struct*, const CFMatrix&)': [singular-4.4.1] [spkg-install] FLINTconvert.cc:655:36: error: 'struct fq_nmod_mat_struct' has no member named 'rows' [singular-4.4.1] [spkg-install] 655 | convertFacCF2nmod_poly_t (M->rows[i-1]+j-1, m (i,j)); [singular-4.4.1] [spkg-install] | ^~~~ [singular-4.4.1] [spkg-install] make[11]: *** [Makefile:1274: FLINTconvert.lo] Error 1 [singular-4.4.1] [spkg-install] make[10]: *** [Makefile:1379: all- recursive] Error 1 [singular-4.4.1] [spkg-install] make[9]: *** [Makefile:1041: all] Error 2 [singular-4.4.1] [spkg-install] make[8]: *** [Makefile:624: all- recursive] Error 1 [singular-4.4.1] [spkg-install] make[7]: *** [Makefile:475: all] Error 2 [singular-4.4.1] [spkg-install] **************************************** ************************************************************************ ***************************************** [singular-4.4.1] [spkg-install] Error building singular-4.4.1 [singular-4.4.1] [spkg-install] **************************************** ************************************************************************ ***************************************** ``` See Singular/Singular#1279 Fixes sagemath#40253 URL: sagemath#40259 Reported by: Volker Braun Reviewer(s):
|
I've bumped the min version in build/pkgs/eclib/spkg-configure.m4 so a working eclib is required Still needs review... |
|
I see no problems, but I'm not sure if I can give a positive review without doing a build from scratch on a machine without lots of versions of FLINT and eclib already installed -- which I do not have. If you don't think that matters, please say so. |
|
I built with the last change. Some tests failed with ./sage -t -a but they passed when run independently (Fedora 42) |
|
I ran it on the buildbot and tests pass there... |
|
Just a reminder that this PR is necessary to pass tests on Fedora 42... please review... |
|
From my experience it builts in my installations of Fedora 42. Concerning the tests, there were some failures with |
|
this PR should really be uncontroversial, its just upstream updates and collecting a patch that upstream provided to work |
sagemathgh-40448: Replace ci-linux-incremental by ci-linux <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> The incremental runs are supposed to test package updates - however, exactly in those situations, they are not working since the rebuilt sagelib is not linking correctly against the new versions. For example, in the flint update sagemath#40259, we get > [sagemath_doc_html-none] [spkg-install] from sage.rings import complex_interval, integer [sagemath_doc_html-none] [spkg-install] ImportError: libflint.so.20: cannot open shared object file: No such file or directory https://github.com/sagemath/sage/actions/runs/15979364834/job/4507007300 7?pr=40259#step:11:4686 For this reason, the incremental runs are replaced here by the build- from-zero runs. Those are a bit slower but more reliable. ### :memo: Checklist <!-- Put an `x` in all the boxes that apply. --> - [ ] The title is concise and informative. - [ ] The description explains in detail what this PR is about. - [ ] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### :hourglass: Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#40448 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik
sagemathgh-40448: Replace ci-linux-incremental by ci-linux <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> The incremental runs are supposed to test package updates - however, exactly in those situations, they are not working since the rebuilt sagelib is not linking correctly against the new versions. For example, in the flint update sagemath#40259, we get > [sagemath_doc_html-none] [spkg-install] from sage.rings import complex_interval, integer [sagemath_doc_html-none] [spkg-install] ImportError: libflint.so.20: cannot open shared object file: No such file or directory https://github.com/sagemath/sage/actions/runs/15979364834/job/4507007300 7?pr=40259#step:11:4686 For this reason, the incremental runs are replaced here by the build- from-zero runs. Those are a bit slower but more reliable. ### :memo: Checklist <!-- Put an `x` in all the boxes that apply. --> - [ ] The title is concise and informative. - [ ] The description explains in detail what this PR is about. - [ ] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### :hourglass: Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#40448 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik
sagemathgh-40448: Replace ci-linux-incremental by ci-linux <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> The incremental runs are supposed to test package updates - however, exactly in those situations, they are not working since the rebuilt sagelib is not linking correctly against the new versions. For example, in the flint update sagemath#40259, we get > [sagemath_doc_html-none] [spkg-install] from sage.rings import complex_interval, integer [sagemath_doc_html-none] [spkg-install] ImportError: libflint.so.20: cannot open shared object file: No such file or directory https://github.com/sagemath/sage/actions/runs/15979364834/job/4507007300 7?pr=40259#step:11:4686 For this reason, the incremental runs are replaced here by the build- from-zero runs. Those are a bit slower but more reliable. ### :memo: Checklist <!-- Put an `x` in all the boxes that apply. --> - [ ] The title is concise and informative. - [ ] The description explains in detail what this PR is about. - [ ] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### :hourglass: Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#40448 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik
sagemathgh-40448: Replace ci-linux-incremental by ci-linux <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> The incremental runs are supposed to test package updates - however, exactly in those situations, they are not working since the rebuilt sagelib is not linking correctly against the new versions. For example, in the flint update sagemath#40259, we get > [sagemath_doc_html-none] [spkg-install] from sage.rings import complex_interval, integer [sagemath_doc_html-none] [spkg-install] ImportError: libflint.so.20: cannot open shared object file: No such file or directory https://github.com/sagemath/sage/actions/runs/15979364834/job/4507007300 7?pr=40259#step:11:4686 For this reason, the incremental runs are replaced here by the build- from-zero runs. Those are a bit slower but more reliable. ### :memo: Checklist <!-- Put an `x` in all the boxes that apply. --> - [ ] The title is concise and informative. - [ ] The description explains in detail what this PR is about. - [ ] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### :hourglass: Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#40448 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik
sagemathgh-40448: Replace ci-linux-incremental by ci-linux <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> The incremental runs are supposed to test package updates - however, exactly in those situations, they are not working since the rebuilt sagelib is not linking correctly against the new versions. For example, in the flint update sagemath#40259, we get > [sagemath_doc_html-none] [spkg-install] from sage.rings import complex_interval, integer [sagemath_doc_html-none] [spkg-install] ImportError: libflint.so.20: cannot open shared object file: No such file or directory https://github.com/sagemath/sage/actions/runs/15979364834/job/4507007300 7?pr=40259#step:11:4686 For this reason, the incremental runs are replaced here by the build- from-zero runs. Those are a bit slower but more reliable. ### :memo: Checklist <!-- Put an `x` in all the boxes that apply. --> - [ ] The title is concise and informative. - [ ] The description explains in detail what this PR is about. - [ ] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### :hourglass: Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#40448 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik
Straightforward upgrade to the latest release
Apparently Singluar is not yet compatible with it
See Singular/Singular#1279
Fixes #40253