Changes between Version 14 and Version 23 of Ticket #11616

04/05/12 15:39:32 (10 years ago)

I've uploaded a second, p2 spkg with further fixes, also incorporating [the] changes from / for

  • #11844 (potential race condition in yasm build),
  • #12765 (build error on Linux ia64 (Itanium) with GCC 4.7.0, which is a GCC bug),
  • #12782 (build MPIR without C++ interface [and without static libraries] when bootstrapping the GCC spkg),
  • configure error with the GCC spkg on MacOS X (on a Core i7 with AVX), as reported on sage-release.

See the changelog entries in the description and the attached diffs for details and further changes.

The p2 is still somewhat preliminary (subject to further testing), although I don't expectTM further changes to be necessary, despite that haven't committed the changes yet.


  • Ticket #11616

    • Property Cc justin added
    • Property Keywords yasm re2c race condition Linux ia64 Itanium GCC 4.7.0 bug added
  • Ticket #11616 – Description

    v14 v23  
    5 The following new spkg is based on the latest MPIR 2.1.3 spkg, the p9 from #12131:
     5The following new spkgs are based on the latest MPIR 2.1.3 spkg, the p9 from #12131:
     7'''New spkg:''' []
     9'''md5sum:''' `c9e6d8e2f5de4a09b4b16ee2354a9e17  mpir-2.4.0.p2.spkg`
     11(Preliminary; changes not yet committed.)
    714'''New spkg:''' []
    916'''md5sum:''' `0d88b7dfe358bb429a5a9aa3a3b4b00b  mpir-2.4.0.p1.spkg`
     20=== mpir-2.4.0.p2 (Leif Leonhardy, April 4th, 2012) ===
     21 #11616 (upgrading MPIR), further fixes:
     22 * Before enabling `-march=native`, minimalistically check whether the
     23   system's assembler also understands the instructions the compiler emits
     24   with that option.  (Work-around for e.g. GCC 4.6.3 on MacOS X 10.x and
     25   Intel Core i7-family CPUs with AVX.)
     26 * Do not unconditionally unset `PYTHON`, since Sage (>=5.0.beta10) no longer
     27   pollutes the environment with its package version variables, which previous-
     28   ly confused yasm's `configure`.
     29 * Fix extraction of `__GMP_CC` and `__GMP_CFLAGS` from `gmp.h`, since MPIR
     30   meanwhile defines these to preprocessor variables (rather than literals).
     31   Also don't use `\+` in `sed` patterns, as this is less portable.
     32 * Work around GCC 4.7.0 bug (compilation error) on Linux ia64 (Itanium) by
     33   almost completely disabling optimization on that platform if GCC 4.7.x
     34   is detected.  This doesn't hurt much if we later rebuild MPIR with a (non-
     35   broken) GCC from the new GCC spkg.  Cf. #12765.
     36 * Do not build the C++ interface and static libraries when bootstrapping the
     37   GCC spkg, i.e. if `SAGE_BUILD_TOOLCHAIN=yes`.  (GMP/MPIR is a prerequisite
     38   for it, and MPIR will later get rebuilt with both enabled, with the newly
     39   built GCC.)  Cf. #12782.
     40 * Fix a potential race condition in yasm's build by patching the re2c source.
     41   Cf. #11844.
     42 * Add "`patch` loop" to apply any patches (`*.patch`) located in `patches/`.
     43   Currently only the re2c patch matches that; the prepatched header to support
     44   Sun's C compiler is still copied over (and only on SunOS, although it doesn't
     45   do any harm on other platforms).
     46 * Minor clean-up; e.g. redirect error messages and warnings to `stderr`,
     47   quote parameter to `--libdir`, add some comments and messages, also save
     48   user's setting of `LDFLAGS` and `ABI`.
    1151=== mpir-2.4.0.p1 (Leif Leonhardy, March 21st, 2012) ===