Differences between revisions 1 and 24 (spanning 23 versions)
Revision 1 as of 2010-08-21 12:18:16
Size: 2454
Editor: jdemeyer
Comment:
Revision 24 as of 2010-09-03 21:05:12
Size: 5325
Editor: jdemeyer
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
 * [[http://trac.sagemath.org/sage_trac/ticket/9592|9592]]: lcalc
 * [[http://trac.sagemath.org/sage_trac/ticket/9722|9722]]: PARI/GP build error on Fedora 13
 * [[http://trac.sagemath.org/sage_trac/ticket/9592|9592]]: lcalc (see also [[http://trac.sagemath.org/sage_trac/ticket/9845|#9845]] for a later lcalc spkg based on this one)
 * [[http://trac.sagemath.org/sage_trac/ticket/9722|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)
Line 10: Line 10:
 * New PARI spkg: http://sage.math.washington.edu/home/jdemeyer/spkg/pari-2.4.3.svn-12577.p3.spkg
 * New genus2reduction spkg: http://sage.math.washington.edu/home/jdemeyer/spkg/genus2reduction-0.3.p8.spkg
 * New lcalc spkg: http://sage.math.washington.edu/home/jdemeyer/spkg/lcalc-20100428-1.23.p2.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 n
ew PARI spkg.
 * PARI spkg
: http://sage.math.washington.edu/home/jdemeyer/spkg/pari-2.4.3.svn-12577.p4.spkg
 * genus2reduction spkg: http://sage.math.washington.edu/home/jdemeyer/spkg/genus2reduction-0.3.p8.spkg
 * lcalc spkg: http://sage.math.washington.edu/home/jdemeyer/spkg/lcalc-20100428-1.23.p2.spkg
   (or alternatively the lastest, http://sage.math.washington.edu/home/mhansen/lcalc-20100428-1.23.p4.spkg)
Line 14: Line 17:
 * Patch for {{{sage/devel}}}: [[http://trac.sagemath.org/sage_trac/raw-attachment/ticket/9343/sagelib_9343_combined7.patch|sagelib_9343_combined7.patch]]

The above list also indicates the order in which to install the spkg's and patches. In particular, the genus2reduction spkg will not install without the new pari spkg.
 * Patch for {{{devel/sage}}}: [[http://trac.sagemath.org/sage_trac/raw-attachment/ticket/9343/sagelib_9343_combined7.patch|sagelib_9343_combined7.patch]]
Line 19: Line 20:
 * Download [[http://sage.math.washington.edu/home/jdemeyer/dist/sage-4.6.prealpha1.tar|sage-4.6.prealpha1.tar]], which is a complete Sage distribution. Just extract it, and type {{{make}}}. In this file, the following tickets have been merged:  * Download [[http://sage.math.washington.edu/home/jdemeyer/dist/sage-4.6.prealpha3.tar|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:
Line 21: Line 22:
   * [[http://trac.sagemath.org/sage_trac/ticket/9591|9591]] (needs_review): genus2reduction    * [[http://trac.sagemath.org/sage_trac/ticket/9591|9591]] (positive_review): genus2reduction
Line 23: Line 24:
   * [[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/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.
     * 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}}}.
   * [[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 26: Line 32:
   * 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:
   * [[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.)
   * [[http://trac.sagemath.org/sage_trac/attachment/ticket/9592/lcalc-spkg.patch|lcalc]]

== 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 [[http://sage.math.washington.edu/home/jdemeyer/spkg/pari-2.4.3.svn-12577.p4.spkg|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.
Line 28: Line 56:
 * It doesn't build on t2.math.washington.edu
   * ''jdemeyer'': I will have a look at this once I get a working account on this machine.
 * Tuning (i.e. building with {{{SAGE_PARI_tune=yes}}}) is completely broken.
 * Tuning (i.e. building with {{{SAGE_TUNE_pari=yes}}}) is completely broken.
Line 33: Line 59:
 * Build issues on Fedora 13: see [[http://trac.sagemath.org/sage_trac/ticket/9722|9722]]. (Not all are limited to Fedora 13, i.e. could in principle occur on other systems as well.)
 * [[http://trac.sagemath.org/sage_trac/ticket/9837|#9837]]: The new PARI/GP currently doesn't fully work with the new MPIR 2.1.1 spkg ([[http://trac.sagemath.org/sage_trac/ticket/8664|#8664]]). '''This is an MPIR bug''' in {{{mpz_divexact()}}}.

New version of PARI/GP: 2.4.3 svn-12577

Relevant tickets

  • 9343: PARI upgrade

  • 9591: genus2reduction

  • 9592: lcalc (see also #9845 for a later lcalc spkg based on this one)

  • 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 (positive_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.)

  • #9837: The new PARI/GP currently doesn't fully work with the new MPIR 2.1.1 spkg (#8664). This is an MPIR bug in mpz_divexact().