#12751: Sage fails to build with GCC-4.7.0
---------------------------------------------------------------------+------
Reporter: mariah |
Owner: GeorgSWeber
Type: defect |
Status: needs_review
Priority: critical |
Milestone: sage-5.0.1
Component: build |
Resolution:
Keywords: GCC 4.7.0 C++11 -fpermissive compiler bugs sd40.5 | Work
issues:
Report Upstream: N/A |
Reviewers:
Authors: Jeroen Demeyer |
Merged in:
Dependencies: |
Stopgaps:
---------------------------------------------------------------------+------
Description changed by jdemeyer:
Old description:
> Sage 5.0.beta10 fails to build using GCC 4.7.0 on Skynet/eno and other
> Linux systems, for different reasons.
>
> * GFan: #12760
> * Givaro: #12761
> * !LinBox: #12762
> * !PolyBoRi: #12750, #12655
> * MPIR on ia64 (Itanium): #12765 (GCC bug) -- #11616 also provides an
> MPIR 2.'''4.0'''.p3 spkg working around this.
> * MPFR on ia64 (Itanium): #12837 (same GCC bug) -- Note that MPFR is
> also a prerequisite for building the GCC spkg.
> * GMP-ECM on ia64 (Itanium): Fixed by #12830 (same GCC bug)
> * zn_poly on ia64 (Itanium): Fixed by #12433 (same GCC bug)
> * FLINT, NTL and PARI (as well as the Sage library) all fail to build on
> ia64 due to the same bug,
> * R fails to build on ia64 during byte-compiling; seems to be a
> different issue, but same work-around works. It also fails with `-O3`
> during byte-compiling on Solaris SPARC and Linux x86_64; on the former
> `-O2` works, on the latter somewhat surprisingly `-O3 -flto`. (Cf.
> comments below.)
> * Two files (`compat` and `linear`) of PARI's test suite fail due to
> segfaults when compiling with `-O3`/`-O2`/`-O1`, at least on Linux x86
> and x86_64.
> * zlib on Solaris: #12800
> * eclib on Solaris (See comments below; this is a Solaris header issue,
> fixed by a new spkg at #10993.)
> * FLINTQS on Solaris: #12855 (Also a subtle Solaris header issue.)
>
> 1. '''gcc-4.7.0 spkg''' for testing purposes:
> [http://boxen.math.washington.edu/home/jdemeyer/spkg/gcc-4.7.0.spkg]
> 1. '''gcc-4.7.1.svn spkg''' for testing purposes:
> [http://boxen.math.washington.edu/home/jdemeyer/spkg/gcc-4.7.1.svn.spkg]
> 1. '''gcc-4.8.0.trunk spkg''' for testing purposes:
> [http://boxen.math.washington.edu/home/jdemeyer/spkg/gcc-4.8.0.trunk.spkg]
>
> ----
>
> The ia64 bug is fixed in gcc-4.7.1.svn, so we should apply the work-
> around only on GCC-4.7.0 and only for packages which are prequisites of
> GCC (since we don't plan to support Sage on ia64 with GCC-4.7.0, there is
> no point in work-arounds for ''some'' packages):
>
> === mpir-2.4.0.p6 (Jeroen Demeyer, 28 May 2012) ===
> * Trac #12751: Apply the ia64 workaround for gcc-4.7.0 *only* on
> gcc-4.7.0 and not on other gcc-4.7.x versions.
>
> === mpfr-3.1.0.p2 (Jeroen Demeyer, 28 May 2012) ===
> * Trac #12751: Apply the ia64 workaround for gcc-4.7.0 *only* on
> gcc-4.7.0 and not on other gcc-4.7.x versions.
> * Remove pointless check for gmp.h.
> * Rename MPFR_EXTRA_OPTS to MPFR_CONFIGURE for consistency with MPIR.
>
> === zn_poly-0.9.p9 (Jeroen Demeyer, 28 May 2012) ===
> * Trac #12751: remove the gcc-4.7.0 workaround for ia64 since this bug
> has been fixed in gcc-4.7.1 and we will not support building Sage
> with gcc-4.7.0 on Itanium.
> * Don't override user-set CFLAGS and CXXFLAGS.
>
> === ecm-6.3.p8 (Jeroen Demeyer, 28 May 2012) ===
> * Trac #12751: remove the gcc-4.7.0 workaround for ia64 since this bug
> has been fixed in gcc-4.7.1 and we will not support building Sage
> with gcc-4.7.0 on Itanium.
> * Remove unused variable SAGE_CONF_OPTS.
> * Rename ECM_EXTRA_OPTS to ECM_CONFIGURE for consistency with MPIR.
> * Don't override user-set CFLAGS.
>
> ----
>
> '''Apply''':
> * [[attachment:12751_allow_gcc_4_7.patch]] to `SAGE_ROOT`
> * mpir:
> [http://boxen.math.washington.edu/home/jdemeyer/spkg/mpir-2.4.0.p6.spkg]
> * mpfr:
> [http://boxen.math.washington.edu/home/jdemeyer/spkg/mpfr-3.1.0.p2.spkg]
> (also various misc changes)
> * ecm:
> [http://boxen.math.washington.edu/home/jdemeyer/spkg/ecm-6.3.p8.spkg]
> (also various misc changes)
> * zn_poly:
> [http://boxen.math.washington.edu/home/jdemeyer/spkg/zn_poly-0.9.p9.spkg]
> (also fixes user-supplied `CFLAGS` and `CXXFLAGS` being overridden)
New description:
Sage 5.0.beta10 fails to build using GCC 4.7.0 on Skynet/eno and other
Linux systems, for different reasons.
* GFan: #12760
* Givaro: #12761
* !LinBox: #12762
* !PolyBoRi: #12750, #12655
* MPIR on ia64 (Itanium): #12765 (GCC bug) -- #11616 also provides an
MPIR 2.'''4.0'''.p3 spkg working around this.
* MPFR on ia64 (Itanium): #12837 (same GCC bug) -- Note that MPFR is also
a prerequisite for building the GCC spkg.
* GMP-ECM on ia64 (Itanium): Fixed by #12830 (same GCC bug)
* zn_poly on ia64 (Itanium): Fixed by #12433 (same GCC bug)
* FLINT, NTL and PARI (as well as the Sage library) all fail to build on
ia64 due to the same bug,
* R fails to build on ia64 during byte-compiling; seems to be a different
issue, but same work-around works. It also fails with `-O3` during byte-
compiling on Solaris SPARC and Linux x86_64; on the former `-O2` works, on
the latter somewhat surprisingly `-O3 -flto`. (Cf. comments below.)
* Two files (`compat` and `linear`) of PARI's test suite fail due to
segfaults when compiling with `-O3`/`-O2`/`-O1`, at least on Linux x86 and
x86_64.
* zlib on Solaris: #12800
* eclib on Solaris (See comments below; this is a Solaris header issue,
fixed by a new spkg at #10993.)
* FLINTQS on Solaris: #12855 (Also a subtle Solaris header issue.)
* Support GCC version "4.7": #13118.
1. '''gcc-4.7.0 spkg''' for testing purposes:
[http://boxen.math.washington.edu/home/jdemeyer/spkg/gcc-4.7.0.spkg]
1. '''gcc-4.7.1.svn spkg''' for testing purposes:
[http://boxen.math.washington.edu/home/jdemeyer/spkg/gcc-4.7.1.svn.spkg]
1. '''gcc-4.8.0.trunk spkg''' for testing purposes:
[http://boxen.math.washington.edu/home/jdemeyer/spkg/gcc-4.8.0.trunk.spkg]
----
The ia64 bug is fixed in gcc-4.7.1.svn, so we should apply the work-around
only on GCC-4.7.0 and only for packages which are prequisites of GCC
(since we don't plan to support Sage on ia64 with GCC-4.7.0, there is no
point in work-arounds for ''some'' packages):
=== mpir-2.4.0.p6 (Jeroen Demeyer, 28 May 2012) ===
* Trac #12751: Apply the ia64 workaround for gcc-4.7.0 *only* on
gcc-4.7.0 and not on other gcc-4.7.x versions.
=== mpfr-3.1.0.p2 (Jeroen Demeyer, 28 May 2012) ===
* Trac #12751: Apply the ia64 workaround for gcc-4.7.0 *only* on
gcc-4.7.0 and not on other gcc-4.7.x versions.
* Remove pointless check for gmp.h.
* Rename MPFR_EXTRA_OPTS to MPFR_CONFIGURE for consistency with MPIR.
=== zn_poly-0.9.p9 (Jeroen Demeyer, 28 May 2012) ===
* Trac #12751: remove the gcc-4.7.0 workaround for ia64 since this bug
has been fixed in gcc-4.7.1 and we will not support building Sage
with gcc-4.7.0 on Itanium.
* Don't override user-set CFLAGS and CXXFLAGS.
=== ecm-6.3.p8 (Jeroen Demeyer, 28 May 2012) ===
* Trac #12751: remove the gcc-4.7.0 workaround for ia64 since this bug
has been fixed in gcc-4.7.1 and we will not support building Sage
with gcc-4.7.0 on Itanium.
* Remove unused variable SAGE_CONF_OPTS.
* Rename ECM_EXTRA_OPTS to ECM_CONFIGURE for consistency with MPIR.
* Don't override user-set CFLAGS.
----
'''Apply''':
* [[attachment:12751_allow_gcc_4_7.patch]] to `SAGE_ROOT`
* mpir:
[http://boxen.math.washington.edu/home/jdemeyer/spkg/mpir-2.4.0.p6.spkg]
* mpfr:
[http://boxen.math.washington.edu/home/jdemeyer/spkg/mpfr-3.1.0.p2.spkg]
(also various misc changes)
* ecm:
[http://boxen.math.washington.edu/home/jdemeyer/spkg/ecm-6.3.p8.spkg]
(also various misc changes)
* zn_poly:
[http://boxen.math.washington.edu/home/jdemeyer/spkg/zn_poly-0.9.p9.spkg]
(also fixes user-supplied `CFLAGS` and `CXXFLAGS` being overridden)
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12751#comment:51>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.