Differences between revisions 18 and 19
Revision 18 as of 2010-08-29 02:00:44
Size: 5194
Editor: leif
Comment:
Revision 19 as of 2010-08-29 05:14:05
Size: 5245
Editor: leif
Comment: Added note on incompatibility with MPIR 2.1.1 (#8664). Minor fixes.
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
If you want to upgrade an existing Sage, you need the install 3 spkg's and apply 2 patches.
Do this in order as in the list below. In particular, the genus2reduction spkg will not install without the new pari spkg.
If you want to upgrade an existing Sage, you have to install 3 spkgs and apply 2 patches.
Do this in order as in the list below. In particular, the genus2reduction spkg will not install without the new PARI spkg.
Line 23: Line 23:
   * [[http://trac.sagemath.org/sage_trac/ticket/9750|9750]] (positive_review): Document that PARI no longer assumes more than GRH
   * [[http://trac.sagemath.org/sage_trac/ticket/9636|9636]] (needs_review): Catch output from PARI in Sage
   * [[http://trac.sagemath.org/sage_trac/ticket/9400|9400]] (needs_review): modify the NumberField constructor to pass in optional integer B such that all the internal pari routines will replace the discriminant by its gcd with B, making some things massively faster
   * [[http://trac.sagemath.org/sage_trac/ticket/9750|9750]] (positive_review): Document that PARI no longer assumes more than GRH.
   * [[http://trac.sagemath.org/sage_trac/ticket/9636|9636]] (needs_review): Catch output from PARI in Sage.
   * [[http://trac.sagemath.org/sage_trac/ticket/9400|9400]] (needs_review): Modify the {{{NumberField}}} constructor to pass in optional integer B such that all the internal PARI routines will replace the discriminant by its gcd with B, making some things massively faster.
Line 27: Line 27:
   * [[http://trac.sagemath.org/sage_trac/ticket/9703|9703]] (closed): Doctest failures caused by non-working sympow on 32-bit Solaris x86 and 32-bit OpenSolaris
   * [[http://trac.sagemath.org/sage_trac/ticket/9735|9735]] (closed): Numerical noise on sage/stats/hmm/chmm.pyx on both Solaris x86 and OpenSolaris x86
     * The above two tickets have nothing to with PARI, but they should make Sage work 100% on Solaris and OpenSolaris.
   * [[http://trac.sagemath.org/sage_trac/ticket/9703|9703]] (closed): Doctest failures caused by non-working sympow on 32-bit Solaris x86 and 32-bit OpenSolaris.
   * [[http://trac.sagemath.org/sage_trac/ticket/9735|9735]] (closed): Numerical noise on {{{sage/stats/hmm/chmm.pyx}}} on both Solaris x86 and OpenSolaris x86.
     * The above two tickets have nothing to do with PARI, but they should make Sage work 100% on Solaris and OpenSolaris.
Line 35: Line 35:
 * For reference, these are the patches for the spkg's:
   * [[http://trac.sagemath.org/sage_trac/attachment/ticket/9343/pari_spkg.patch|pari]]
   * [[http://trac.sagemath.org/sage_trac/attachment/ticket/9591/genus2reduction-spkg.patch|genus2reduction]] (note that old genus2reduction.c file was '''not''' under revision control unfortunately)
 * For reference, these are the patches for the spkgs:
   * [[http://trac.sagemath.org/sage_trac/attachment/ticket/9343/pari_spkg.patch|PARI]]
   * [[http://trac.sagemath.org/sage_trac/attachment/ticket/9591/genus2reduction-spkg.patch|genus2reduction]] (Note that the old {{{genus2reduction.c}}} file was '''not''' under revision control, unfortunately.)
Line 41: Line 41:
If the new pari spkg doesn't build, you should try building PARI/GP stand-alone (i.e. outside of Sage). If the new PARI spkg doesn't build, you should try building PARI/GP stand-alone (i.e. outside of Sage).
Line 59: Line 59:
 * The ''new'' PARI/GP doesn't fully work with the new MPIR 2.1.1 spkg ([[http://trac.sagemath.org/sage_trac/ticket/8664|#8664]]); some doctests cause segmentation faults. '''This is an MPIR bug.''' (It ''does'' work with GMP 5.0.1, but there's currently no such spkg.)  * The ''new'' PARI/GP doesn't fully work with the new MPIR 2.1.1 spkg ([[http://trac.sagemath.org/sage_trac/ticket/8664|#8664]]); some doctests cause segmentation faults. '''This is an MPIR bug.''' (Sage 4.6.prealpha3 ''does'' fully work with GMP 5.0.1, but there's currently no such spkg.)

New version of PARI/GP: 2.4.3 svn-12577

Relevant tickets

  • 9343: PARI upgrade

  • 9591: genus2reduction

  • 9592: lcalc (see also 9775 for a later version of lcalc)

  • 9722: PARI/GP build error on Fedora 13 (Merged into Sage 4.5.3.alpha2. I'm currently porting the changes to the PARI 2.4.3.svn-12577.p4 spkg. -Leif)

Files

If you want to upgrade an existing Sage, you have to install 3 spkgs and apply 2 patches. Do this in order as in the list below. In particular, the genus2reduction spkg will not install without the new PARI spkg.

For reviewers

  • Download sage-4.6.prealpha3.tar, which is a complete Sage distribution based on sage-4.5.3.alpha1. Just extract it, and type make. In this file, the following tickets have been merged:

    • 9343 (needs_work): PARI upgrade

    • 9591 (needs_review): genus2reduction

    • 9592 (needs_review): lcalc

    • 9750 (positive_review): Document that PARI no longer assumes more than GRH.

    • 9636 (needs_review): Catch output from PARI in Sage.

    • 9400 (needs_review): Modify the NumberField constructor to pass in optional integer B such that all the internal PARI routines will replace the discriminant by its gcd with B, making some things massively faster.

      • This ticket is not strictly related to the PARI upgrade, but it changes a lot of code using PARI. It also fixes an issue with nfinit() and wraps some additional functions in sage/libs/pari/gen.pyx.

    • 9703 (closed): Doctest failures caused by non-working sympow on 32-bit Solaris x86 and 32-bit OpenSolaris.

    • 9735 (closed): Numerical noise on sage/stats/hmm/chmm.pyx on both Solaris x86 and OpenSolaris x86.

      • The above two tickets have nothing to do with PARI, but they should make Sage work 100% on Solaris and OpenSolaris.

  • The main issue seems to be making sure it actually compiles.

    • Once it compiles, you can run the PARI/GP test suite by doing

      •      env SAGE_CHECK=yes ./sage -f pari-2.4.3.svn-12577.p4.spkg
  • For reference, these are the patches for the spkgs:

Debugging PARI/GP build errors

If the new PARI spkg doesn't build, you should try building PARI/GP stand-alone (i.e. outside of Sage). You should download pari-2.4.3.svn-12577.p4.spkg and then type the following in a shell:

tar xjf pari-2.4.3.svn-12577.p4.spkg
cd pari-2.4.3.svn-12577.p4/src
./Configure --graphic=none
make gp

If this works, there is a bug in Sage's build process for PARI/GP. If this gives errors, this indicates an upstream issue with PARI/GP. In any case, any errors should be reported on the Sage trac.

Known issues

  • Tuning (i.e. building with SAGE_TUNE_pari=yes) is completely broken.

  • Build issues on Fedora 13: see 9722. (Not all are limited to Fedora 13, i.e. could in principle occur on other systems as well.)

  • The new PARI/GP doesn't fully work with the new MPIR 2.1.1 spkg (#8664); some doctests cause segmentation faults. This is an MPIR bug. (Sage 4.6.prealpha3 does fully work with GMP 5.0.1, but there's currently no such spkg.)