Opened 9 years ago

Last modified 9 years ago

#13137 closed enhancement

upgrade MPIR to 2.5.1 — at Version 9

Reported by: jhpalmieri Owned by: tbd
Priority: major Milestone: sage-5.7
Component: packages: standard Keywords: mpir spkg
Cc: jpflori Merged in:
Authors: John Palmieri Reviewers: Jeroen Demeyer
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by jhpalmieri)

As the summary says. Also, mpir-2.4.0.p5.spkg fails self-tests, and upgrading should fix this.

Here is are (preliminary?) spkgs: http://sage.math.washington.edu/home/palmieri/SPKG/mpir-2.5.1.p0.spkg and http://sage.math.washington.edu/home/palmieri/SPKG/mpir-2.5.2.p0.spkg.

I upgraded to version 2.5.1, removed files as described by SPKG.txt, and rebased the patches. One question about quote_asm.patch: it patches files of the form *.asm. Should it also address files of the form *,asm? There are two such: mpn/x86/p6/addmul_1,asm and mpn/x86/p6/submul_1,asm.

If the stopgap at #13138 is applied, then trac_13137-stopgap.patch will need to be applied (to the root repo) to undo it.

Change History (12)

Changed 9 years ago by jhpalmieri

root repo

comment:1 Changed 9 years ago by jhpalmieri

  • Authors set to John Palmieri
  • Description modified (diff)
  • Status changed from new to needs_review

comment:2 Changed 9 years ago by ohanar

This causes the libm4rie test suite to fail, as well as breaks the building of linbox (both have the same errors):

In file included from .../local/include/gmp++/gmp++.h:20:0,
                 from ../../linbox/integer.h:22,
                 from ../../linbox/randiter/abstract.h:30,
                 from ../../linbox/field/abstract.h:32,
                 from ../../linbox/field/archetype.h:42,
                 from ../../linbox/vector/vector-traits.h:35,
                 from ../../linbox/blackbox/factory.h:17,
                 from ../../linbox/matrix/sparse.h:54,
                 from ../../linbox/blackbox/sparse.h:41,
                 from linbox-sage.C:35:
.../local/include/gmpxx.h:1566:3: error: ‘__gmp_expr<__mpz_struct [1], __mpz_struct [1]>::__gmp_expr(intmax_t)’ cannot be overloaded
.../local/include/gmpxx.h:1562:3: error: with ‘__gmp_expr<__mpz_struct [1], __mpz_struct [1]>::__gmp_expr(long int)’
.../local/include/gmpxx.h:1567:3: error: ‘__gmp_expr<__mpz_struct [1], __mpz_struct [1]>::__gmp_expr(uintmax_t)’ cannot be overloaded
.../local/include/gmpxx.h:1563:3: error: with ‘__gmp_expr<__mpz_struct [1], __mpz_struct [1]>::__gmp_expr(long unsigned int)’
.../local/include/gmpxx.h:1635:16: error: ‘__gmp_expr<__mpz_struct [1], __mpz_struct [1]>& __gmp_expr<__mpz_struct [1], __mpz_struct [1]>::operator=(intmax_t)’ cannot be overloaded
.../local/include/gmpxx.h:1629:16: error: with ‘__gmp_expr<__mpz_struct [1], __mpz_struct [1]>& __gmp_expr<__mpz_struct [1], __mpz_struct [1]>::operator=(long int)’
.../local/include/gmpxx.h:1636:16: error: ‘__gmp_expr<__mpz_struct [1], __mpz_struct [1]>& __gmp_expr<__mpz_struct [1], __mpz_struct [1]>::operator=(uintmax_t)’ cannot be overloaded
.../local/include/gmpxx.h:1631:16: error: with ‘__gmp_expr<__mpz_struct [1], __mpz_struct [1]>& __gmp_expr<__mpz_struct [1], __mpz_struct [1]>::operator=(long unsigned int)’
.../local/include/gmpxx.h: In constructor ‘__gmp_expr<__mpz_struct [1], __mpz_struct [1]>::__gmp_expr(intmax_t)’:
.../local/include/gmpxx.h:1566:49: error: ‘mpz_init_set_sx’ was not declared in this scope
.../local/include/gmpxx.h: In constructor ‘__gmp_expr<__mpz_struct [1], __mpz_struct [1]>::__gmp_expr(uintmax_t)’:
.../local/include/gmpxx.h:1567:50: error: ‘mpz_init_set_ux’ was not declared in this scope
.../local/include/gmpxx.h: In member function ‘__gmp_expr<__mpz_struct [1], __mpz_struct [1]>& __gmp_expr<__mpz_struct [1], __mpz_struct [1]>::operator=(intmax_t)’:
.../local/include/gmpxx.h:1635:56: error: ‘mpz_set_sx’ was not declared in this scope
.../local/include/gmpxx.h: In member function ‘__gmp_expr<__mpz_struct [1], __mpz_struct [1]>& __gmp_expr<__mpz_struct [1], __mpz_struct [1]>::operator=(uintmax_t)’:
.../local/include/gmpxx.h:1636:57: error: ‘mpz_set_ux’ was not declared in this scope
.../local/include/gmpxx.h: In member function ‘intmax_t __gmp_expr<__mpz_struct [1], __mpz_struct [1]>::get_sx() const’:
.../local/include/gmpxx.h:1677:49: error: ‘mpz_get_sx’ was not declared in this scope
.../local/include/gmpxx.h: In member function ‘uintmax_t __gmp_expr<__mpz_struct [1], __mpz_struct [1]>::get_ux() const’:
.../local/include/gmpxx.h:1678:50: error: ‘mpz_get_ux’ was not declared in this scope

There may be other issues, but I haven't encountered them yet.

comment:3 Changed 9 years ago by jdemeyer

There is an mpir-2.4.0.p6 at #12751, probably the new spkg should be based on that.

Also, I guess the patch patches/yasm__tools__re2c__code.c.patch can be removed completely (then also remove it from SPKG.txt)

comment:4 Changed 9 years ago by jpflori

  • Cc jpflori added

comment:5 Changed 9 years ago by jdemeyer

  • Reviewers set to Jeroen Demeyer
  • Status changed from needs_review to needs_work

See comment 3

#12751 has been merged, so this spkg must certainly be rebased.

Changed 9 years ago by jhpalmieri

patch for mpir spkg; for review only

comment:6 Changed 9 years ago by jhpalmieri

I've rebased the spkg. I haven't investigated the issues in the comment above. I'll take a look, but I may not know enough to be able to fix them.

Last edited 9 years ago by jhpalmieri (previous) (diff)

comment:7 Changed 9 years ago by jhpalmieri

On hawk (OpenSolaris): linbox fails to build, as mentioned above, and the new spkg from #12883 doesn't help. libm4rie passes its test suite, though.

On sage.math (linux, Sage's gcc): the ppl build fails to configure ("checking which instantiations are enabled... configure: error: invalid instantiation Polyhedron Error configuring the Parma Polyhedra Library."). linbox fails to build, and libm4rie fails its test suite.

On taurus (linux, gcc 4.7.0): same as with sage.math, and also pari fails its test suite.

I'm still building on OS X; I'll report the results when they're available.

I don't know enough to troubleshoot these. If someone else wants to work on this, please go ahead.

Last edited 9 years ago by jhpalmieri (previous) (diff)

comment:8 Changed 9 years ago by jhpalmieri

OS X is similar to sage.math: linbox and ppl fail to build, libm4rie fails its test suite.

comment:9 Changed 9 years ago by jhpalmieri

  • Description modified (diff)

I created an spkg out of the just-released version 2.5.2. It was more or less straightforward, except that it refuses to build using clang on OS X, so spkg-install required a little modification.

With this spkg, givaro no longer builds on sage.math or OS X, and I am seeing the same problems with ppl. Since givaro won't build, I'm not even getting to libm4rie or linbox.

Changed 9 years ago by jhpalmieri

patch for mpir 2.5.2 spkg

Note: See TracTickets for help on using tickets.