Skip to content
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

MPFR doesn't compile with GCC-4.7.0 on ia64 #12837

Closed
jdemeyer opened this issue Apr 13, 2012 · 13 comments
Closed

MPFR doesn't compile with GCC-4.7.0 on ia64 #12837

jdemeyer opened this issue Apr 13, 2012 · 13 comments

Comments

@jdemeyer
Copy link

The error is exactly the same as the one reported for MPIR at #12765 ("impossible reload").

The spkg below also fixes some other issues, and applies all official upstream patches published so far.


New spkg: http://boxen.math.washington.edu/home/leif/Sage/spkgs/mpfr-3.1.0.p1.spkg

md5sum: a21ea669c69350a3d192aba86b7ecbd6 mpfr-3.1.0.p1.spkg

mpfr-3.1.0.p1 (Leif Leonhardy, April 13th 2012)

  • MPFR doesn't compile with GCC-4.7.0 on ia64 #12837: Work around GCC 4.7.0 bug on ia64 (Itanium), unfortunately by almost
    completely disabling optimization on that platform. (MPFR is also a pre-
    requisite for building the GCC spkg; after that has been built, MPFR will
    get rebuilt with normal optimization.)
  • Use patch to apply patches.
  • Apply all recent "official" upstream patches; the resulting MPFR version
    then is 3.1.0-p8.
  • Properly quote the parameter to the configure option --libdir.
  • Export CFLAGS! Previously MPFR would not even have used "its own" flags
    (extracted from config.status after configuring it with CC and CFLAGS
    unset) if CFLAGS, set in its spkg-install, weren't already exported.
    (Also export CPPFLAGS and LDFLAGS, to which $CFLAG64 is now also added
    if SAGE64 is yes.)
  • Add $CFLAG64 to required CFLAGS if SAGE64=yes.
  • Clean up the spkg; redirect all warnings and error messages to stderr; add
    some messages.

CC: @nexttime @jpflori @mwhansen

Component: packages: standard

Author: Leif Leonhardy

Reviewer: Volker Braun

Merged: sage-5.0.rc0

Issue created by migration from https://trac.sagemath.org/ticket/12837

@nexttime
Copy link
Mannequin

nexttime mannequin commented Apr 13, 2012

comment:2

For the record:

I'm currently also cleaning up the spkg; stay tuned...

@jdemeyer
Copy link
Author

comment:3

leif, any progress on the MPFR package? If not, I'll provide a new spkg fixing the ia64 issue.

@nexttime
Copy link
Mannequin

nexttime mannequin commented Apr 19, 2012

comment:4

Replying to @jdemeyer:

leif, any progress on the MPFR package? If not, I'll provide a new spkg fixing the ia64 issue.

I just haven't announced it yet; cf. sage-release.

@nexttime
Copy link
Mannequin

nexttime mannequin commented Apr 19, 2012

comment:5

Oh, and there are still two "open" issues:

    if [ "$SAGE64" = yes ]; then
        if [ -z "$CFLAG64" ]; then
            CFLAG64=-m64
        fi
        echo "Building a 64-bit version of MPFR (using '$CFLAG64')."
        # XXX Shouldn't this be put into the *required* CFLAGS?
        default_cflags="$default_cflags $CFLAG64"
        CPPFLAGS="$CPPFLAGS $CFLAG64"
        LDFLAGS="$LDFLAGS $CFLAG64"
        # As MPFR doesn't have C++ files, we don't have to modify CXXFLAGS.
    fi

(I think I'll just change that.)

    # XXX What is the following supposed to achieve???
    # (GMP/MPIR is a prerequisite for MPFR, and we always build MPIR with
    # '--enable-gmpcompat', since MPFR and other packages won't build without
    # that anyway.) 
    if [ ! -f "$SAGE_LOCAL/include/gmp.h" ]; then
        SAGE_CONF_OPTS="$SAGE_CONF_OPTS --disable-static --enable-shared"
    fi

    if [ "$UNAME" = CYGWIN ]; then
        SAGE_CONF_OPTS="$SAGE_CONF_OPTS --disable-static --enable-shared"
    fi

(I feel a bit uncomfortable just removing the first if-block, since I have absolutely no idea why or how it did get there. The second if seems related; I didn't plan to remove that.)

@nexttime
Copy link
Mannequin

nexttime mannequin commented Apr 19, 2012

comment:6

Ok, now committed the changes, new spkg is at the same, usual place.

It uses required_cflags for $CFLAG64; the rest is still in.

@nexttime

This comment has been minimized.

@nexttime
Copy link
Mannequin

nexttime mannequin commented Apr 19, 2012

Changed author from Jeroen Demeyer to Leif Leonhardy

@nexttime nexttime mannequin added the s: needs review label Apr 19, 2012
@nexttime
Copy link
Mannequin

nexttime mannequin commented Apr 19, 2012

Diff between the previous spkg in Sage and my new p1 spkg. For reference / review only.

@nexttime
Copy link
Mannequin

nexttime mannequin commented Apr 19, 2012

comment:7

Attachment: mpfr-3.1.0.p0-p1.diff.gz

Attached a diff to the p0, for review purposes.

@vbraun
Copy link
Member

vbraun commented Apr 26, 2012

comment:8

Looks good to me!

@vbraun
Copy link
Member

vbraun commented Apr 26, 2012

Reviewer: Volker Braun

@nexttime
Copy link
Mannequin

nexttime mannequin commented Apr 26, 2012

comment:9

Replying to @vbraun:

Looks good to me!

Thanks, progress... :-)

@jdemeyer
Copy link
Author

Merged: sage-5.0.rc0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants