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
Add some bugfixes to the PARI package #10430
Comments
This comment has been minimized.
This comment has been minimized.
comment:2
Perhaps we should really also address #10120, as more systems than originally reported seem to be affected, i.e. reduce (perhaps partially) optimization to Did someone report this to the PARI guys? Perhaps they could provide a patch such that we don't have to maintain it (that selectively changes the compiler flags for only some files). Unfortunately(?), not all people building on e.g. openSUSE 11.2 run into these problems, apparently. |
comment:3
Replying to @nexttime:
Here's an idea: we first try to build with -O3 and when that doesn't work, fall back to -O2, then -O1, then -O0. This way we don't have to find out exactly which versions of gcc are broken. I think reporting this to PARI is pointless, because they can't help (and probably won't care about) a broken gcc. |
comment:4
Replying to @jdemeyer:
Koen reported: So I don't think that's the way to go. (Other machines might start swapping, which effectively "freezes" some systems.) Or should we do something like (ulimit -St 900; $MAKE) # Which value is appropriate? ?
They at least perhaps have better experience which files are most likely to trigger failures due to GCC bugs. |
comment:5
Replying to @nexttime:
How about ulimiting the memory? |
comment:6
Replying to @jdemeyer:
(ulimit -St 900; $MAKE) # Which value is appropriate?
Much harder to estimate, isn't it? (Feel free to test out adequate values, with Ok, if a process starts thrashing, it won't consume much (user) CPU time as well. |
Changed keywords from pari spkg to pari spkg bugs patches |
comment:7
I don't think we should be changing Changing it could cause all sorts of problems for someone. If Sage fails with the limit they set, then tough - they set the limit. Once we start changing limits, we could cause other proceses to fail, which might be more important to someone. Dave |
comment:8
David: we could check the current value of I quickly tested
|
comment:9
Replying to @sagetrac-drkirkby:
We would only set limits in (PARI's) Note that
And ordinary users (i.e., their processes) cannot increase limits once they are set. |
comment:10
P.S.: If we do "trial building" with some limit(s), we should also make sure that the build actually failed due to a resource limit before retrying with less optimization, e.g. check that the exit code was 152 ( |
comment:11
Replying to @nexttime:
With |
comment:12
Replying to @nexttime:
The build could fail for many various reasons, including but not limited to allocating too much memory. There are various other tickets where a PARI build fails because of a broken gcc. All these should be caught, not only the cases where we run out of memory. |
comment:13
Replying to @jdemeyer:
Of course. I wonder if we then would get PARI build errors due to GCC bugs reported any longer... ;-) |
comment:14
Got one more PARI flaw: It installs three real copies of the shared library rather than one with two symbolic links to it. Currently not sure if (but I believe) that's an upstream matter, or if we do that. |
Author: Jeroen Demeyer |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
comment:16
Very preliminary spkg: http://sage.math.washington.edu/home/jdemeyer/spkg/pari-2.4.3.alpha.p1.spkg (not yet tested properly) |
Doctest fixes |
Attachment: 10430_branch_cut.patch.gz spkg patch for reference |
comment:17
Attachment: pari-2.4.3.alpha.p1.diff.gz |
This comment has been minimized.
This comment has been minimized.
comment:49
Replying to @sagetrac-drkirkby:
Badly written code should never cause the compiler to crash or to use infinite memory. These things are certainly compiler bugs. |
This comment has been minimized.
This comment has been minimized.
comment:53
I'm happy with the current version, so I'll give this ticket a positive review. If any compiler bugs are still preventing pari from being built on some hardware then this should be reported to the gcc wrapper. |
Changed reviewer from Leif Leonhardy to Leif Leonhardy, Volker Braun |
Merged: sage-4.6.2.alpha1 |
comment:55
Testing on the buildbot seems to indicate there might still be some race conditions in parallel |
Changed merged from sage-4.6.2.alpha1 to none |
comment:56
Fixed race conditions in |
This comment has been minimized.
This comment has been minimized.
comment:57
That'll get rid of potential races in installation. Perhaps we should disable parallel make for all spkgs that don't use a proven build system like autotools or SCons. Chances are that any hand-rolled makefile has concurrency issues... I'll take it that you are going to commit the changes to the included repository before adding the spkg to the next Sage release, because right now they are not. |
comment:58
Replying to @vbraun:
Yes, done. |
Merged: sage-4.6.2.alpha2 |
We should add bugfixes for
New spkg: http://sage.math.washington.edu/home/jdemeyer/spkg/pari-2.4.3.alpha.p5.spkg
CC: @sagetrac-drkirkby
Component: packages: standard
Keywords: pari spkg bugs patches
Author: Jeroen Demeyer
Reviewer: Leif Leonhardy, Volker Braun
Merged: sage-4.6.2.alpha2
Issue created by migration from https://trac.sagemath.org/ticket/10430
The text was updated successfully, but these errors were encountered: