-
-
Notifications
You must be signed in to change notification settings - Fork 480
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
MPIR 2.x may fail to build on 32-bit operating systems #11896
Comments
Changed reporter from leif to Nathann Cohen, Dan Drake, Steve Trogdon |
comment:1
Would be nice if one of you could review this. For testing, it should be sufficient to (try to) install the spkg with an arbitrary Sage version (of course installed on some 32-bit Linux running on a 64-bit processor): $ unset ABI # We want to test that the spkg works *without* setting it.
$ env SAGE_CHECK=yes ./sage -i http://sage.math.washington.edu/home/leif/Sage/spkgs/mpir-2.1.3.p5.spkg After that, you should reinstall the original MPIR spkg from your Sage installation (with (No need to uninstall it from Sage 4.7.2.alpha3 or if you happen to have already installed the MPIR 2.1.3.p4 spkg, the GMP-ECM 6.3.p2 spkg and the necessary patches from their tickets.) You can of course in addition test the spkg on other (64-bit) platforms as well... :-) Thanks! |
This comment has been minimized.
This comment has been minimized.
Attachment: mpir-2.1.3.p4-p5.diff.gz Diff between the p4 (from #8664) and the p5 spkg. For reference / review only. |
comment:2
P.S.: I'll rebase the spkgs with newer upstream versions (see #11616) on this one when I find the time. I'll perhaps also provide an MPIR 2.1.4.p0 spkg based on this one which just adds a minor upstream fix (for a rare race condition which leads to an error during the installation). |
comment:3
Oh, one more thing: I cannot test whether the GMP-ECM and MPFR spkgs have the same problem (since they use GMP's / MPIR's If you find the time, you could also check this by unsetting |
This comment has been minimized.
This comment has been minimized.
Reviewer: Steven Trogdon |
comment:5
Replying to @nexttime:
The new mpir spkg installs here on my 32-bit OS with 64-bit processor with ABI unset.
It also installed on an amd64 to which I have access. The ECM and MPFR spkgs reinstalled correctly with ABI unset on both the 32-bit and amd64 machines. A positive review here. |
This comment has been minimized.
This comment has been minimized.
comment:6
Replying to @strogdon:
Speed reviewing, thanks! |
Changed reporter from Nathann Cohen, Dan Drake, Steve Trogdon to Nathann Cohen, Dan Drake, Steven Trogdon |
comment:8
( it compiled perfectly here ! Thank you very much leif ! |
Merged: sage-4.7.2.alpha4 |
comment:10
This fails to build on Itanium:
|
comment:11
The problem is that the
|
This comment has been minimized.
This comment has been minimized.
comment:12
The attached patch should fix the problem. New spkg for testing: http://boxen.math.washington.edu/home/jdemeyer/spkg/mpir-2.1.3.p6.spkg |
Changed merged from sage-4.7.2.alpha4 to none |
comment:15
By the way, I'd say that's a GCC flaw; it should support |
comment:16
Oh, it does have related options for HP-UX: :-)
|
comment:17
Replying to @nexttime:
My patch doesn't do specific checking for Itanium, it will work on any compiler which does not support |
comment:18
Replying to @jdemeyer:
I'd factor out if [[ -z $CFLAG32 ]]; then
CFLAG32=-m32
fi or : ${CFLAG32=-m32} # doesn't invalidate an empty setting ("") or the like (at the top level), such that porting people can adapt it to whatever they need. |
comment:19
Alternatively, you could just set |
comment:20
(I originally intended to restrict the test / setting the ABI to x86 / x86_64 and ppc / ppc64 anyway... ;-) ) |
comment:22
New spkg which uses |
comment:23
Replying to @jdemeyer:
Positive review, although the comment
referred to building, not running a 64-bit executable, and the Changelog entry mentions Tested with |
Changed author from Leif Leonhardy to Leif Leonhardy, Jeroen Demeyer |
Changed reviewer from Steven Trogdon to Steven Trogdon, Jeroen Demeyer, Leif Leonhardy |
comment:24
Attachment: mpir-2.1.3.p5-p6.diff.gz Replying to @nexttime:
I think it is actually more correct to refer to building and running rather than just building.
Fixed this. |
Merged: sage-4.7.3.alpha0 |
comment:26
For what it's worth, this fails to build on the skynet machine silius. I get the same error message with p5 and p6:
|
comment:27
Replying to @jhpalmieri:
Ooops, I was pretty sure I also tested it there. The p4 builds just fine. I'll prepare a follow-up spkg... |
comment:28
Replying to @nexttime:
New spkg (p7) up on #11964, needs review. |
Milestone sage-4.7.3 deleted |
Changed merged from sage-4.7.3.alpha0 to sage-4.8.alpha0 |
MPIR fails to build on 32-bit operating systems running on 64-bit processors if
CFLAGS
contain-m32
andABI
is not set.The simple solution is to set
ABI=32
in this case, which the new spkg now does (on Linux, where the issue occurred). It also setsABI=64
if the operating system supports it, andABI
isn't already set, and prints according messages.Upstream report: http://groups.google.com/group/mpir-devel/browse_thread/thread/46ccdc5dfc3485cd
New spkg: http://boxen.math.washington.edu/home/jdemeyer/spkg/mpir-2.1.3.p6.spkg
Upstream: Reported upstream. Little or no feedback.
CC: @nathanncohen @dandrake @strogdon @jdemeyer
Component: packages: standard
Keywords: ABI 64-bit CPU processor Linux -m32 MPN_PATH assembler error bad register lshift
Author: Leif Leonhardy, Jeroen Demeyer
Reviewer: Steven Trogdon, Jeroen Demeyer, Leif Leonhardy
Merged: sage-4.8.alpha0
Issue created by migration from https://trac.sagemath.org/ticket/11896
The text was updated successfully, but these errors were encountered: