Differences between revisions 26 and 51 (spanning 25 versions)
Revision 26 as of 2010-09-05 12:55:11
Size: 5024
Editor: jdemeyer
Comment:
Revision 51 as of 2010-09-12 14:18:50
Size: 6349
Editor: leif
Comment: Link to #9899 (self-test failure) added. Status of #9592 updated.
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
 * [[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)  * [[http://trac.sagemath.org/sage_trac/ticket/9756|9756]]: Document SAGE_TUNE_pari in the Sage Installation Guide
 * [[http://trac.sagemath.org/sage_trac/ticket/9860|9860]]: Port changes in PARI 2.3.5.p4 ([[http://trac.sagemath.org/sage_trac/ticket/9722|#9722]]) to current 2.4.3

== Tickets which can be closed after #9343 is merged ==
The following lists tickets which seem to be fixed by the new version of PARI/GP:
 * [[http://trac.sagemath.org/sage_trac/ticket/4794|4794]]: [with spkg, needs work] Update pari to 2.4.3-svn
 * [[http://trac.sagemath.org/sage_trac/ticket/4835|4835]]: pari starts up without initializing enough primes?
 * [[http://trac.sagemath.org/sage_trac/ticket/7736|7736]]: factor returns a reducible factor
 * [[http://trac.sagemath.org/sage_trac/ticket/9175|9175]]: cygwin: pari's sea.gp program segfaults on Cygwin
 * [[http://trac.sagemath.org/sage_trac/ticket/9518|9518]]: Add an spkg-check file for Pari
Line 12: Line 21:
 * PARI spkg: http://sage.math.washington.edu/home/jdemeyer/spkg/pari-2.4.3.svn-12577.p4.spkg  * PARI spkg: http://sage.math.washington.edu/home/jdemeyer/spkg/pari-2.4.3.svn-12577.p5.spkg
Line 16: Line 25:
 * Patch for {{{data/extcode}}}: [[http://trac.sagemath.org/sage_trac/raw-attachment/ticket/9343/extcode_9343_combined3.patch|extcode_9343_combined3.patch]]  * Patch for {{{data/extcode}}}: [[http://trac.sagemath.org/sage_trac/raw-attachment/ticket/9343/extcode_9343_combined4.patch|extcode_9343_combined4.patch]]
Line 20: Line 29:
 * 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:
   * [[http://trac.sagemath.org/sage_trac/ticket/9343|9343]] (needs_work): PARI upgrade
 * Download [[http://sage.math.washington.edu/home/jdemeyer/dist/sage-4.6.prealpha4.tar|sage-4.6.prealpha4.tar]], which is a complete Sage distribution based on [[http://sage.math.washington.edu/home/release/sage-4.5.3.rc0/|sage-4.5.3.rc0]]. Just extract it, and type {{{make}}}. In this file, the following tickets have been merged:
   * [[http://trac.sagemath.org/sage_trac/ticket/9343|9343]] (positive_review): PARI upgrade
   * [[http://trac.sagemath.org/sage_trac/ticket/9860|9860]] (positive_review): Port changes in PARI 2.3.5.p4 (#9722) to current 2.4.3
Line 23: Line 33:
   * [[http://trac.sagemath.org/sage_trac/ticket/9592|9592]] (needs_review): lcalc    * [[http://trac.sagemath.org/sage_trac/ticket/9592|9592]] (positive_review): lcalc
   * [[http://trac.sagemath.org/sage_trac/ticket/9845|9845]] ('''needs_review'''): lcalc doesn't build on cygwin due to missing time.h include
Line 25: Line 36:
   * [[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/9636|9636]] (positive_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 28: Line 39:
   * [[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.
 * The main issue seems to be making sure it actually '''compiles'''.
   * Once it compiles, you can run the '''PARI/GP test suite''' by doing
 * If it compiles, you can run the '''PARI/GP test suite''' and '''test PARI's self-tuning capability''' by doing
Line 34: Line 41:
     env SAGE_CHECK=yes ./sage -f pari-2.4.3.svn-12577.p4.spkg      env SAGE_CHECK=yes SAGE_TUNE_pari=yes ./sage -f pari-2.4.3.svn-12577.p5.spkg
Line 36: Line 43:
     (To keep the spkg's build directory {{{$SAGE_ROOT/spkg/build/pari-2.4.3.svn-12577.p5/}}}, use {{{... ./sage -f -s ...}}} instead. This way you'll be able to inspect PARI's logs of eventual self-test failures.)
Line 37: Line 45:
   * [[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.)
   * PARI: [[http://trac.sagemath.org/sage_trac/attachment/ticket/9343/pari_spkg.patch|part 1]], [[http://trac.sagemath.org/sage_trac/attachment/ticket/9860/trac_9860-pari-2.4.3.svn-12577.p4-p5.spkg.patch|part 2]], [[http://trac.sagemath.org/sage_trac/attachment/ticket/9860/pari.p5.patch|part 3]]
   * [[http://trac.sagemath.org/sage_trac/attachment/ticket/9591/genus2reduction-spkg.2.patch|genus2reduction]] (Note that the old {{{genus2reduction.c}}} file was '''not''' under revision control, unfortunately.)
Line 43: Line 51:
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]] You should download [[http://sage.math.washington.edu/home/jdemeyer/spkg/pari-2.4.3.svn-12577.p5.spkg|pari-2.4.3.svn-12577.p5.spkg]]
Line 46: Line 54:
tar xjf pari-2.4.3.svn-12577.p4.spkg
cd pari-2.4.3.svn-12577.p4/src
tar xjf pari-2.4.3.svn-12577.p5.spkg
cd pari-2.4.3.svn-12577.p5/src
Line 56: Line 64:
 * Tuning (i.e. building with {{{SAGE_TUNE_pari=yes}}}) is broken.
   * Fix upstream in latest svn, see the bug report reported as http://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=1089
 * 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.)
 * Tuning has problems on some systems. Since tuning is disabled by default, this is not essential for this ticket.
   There are e.g. problems with PARI's self-tuning on Pentium 4 '''Prescott'''s:
   * Self-tuning hangs on Fedora 13 (gcc 4.4.4).
   * Self-test fails ''after self-tuning'' on Ubuntu 9.04 (gcc 4.3.3), but only due to numerical noise. See [[http://trac.sagemath.org/sage_trac/ticket/9899|#9899]]
 * [[http://trac.sagemath.org/sage_trac/ticket/9876|9876]]: Building PARI/GP with SAGE_CHECK=yes fails on rnfkummer on a PPC Mac OS X 10.4 and on a Solaris SPARC. This looks like an '''upstream problem''' with PARI/GP.

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)

  • 9756: Document SAGE_TUNE_pari in the Sage Installation Guide

  • 9860: Port changes in PARI 2.3.5.p4 (#9722) to current 2.4.3

Tickets which can be closed after #9343 is merged

The following lists tickets which seem to be fixed by the new version of PARI/GP:

  • 4794: [with spkg, needs work] Update pari to 2.4.3-svn

  • 4835: pari starts up without initializing enough primes?

  • 7736: factor returns a reducible factor

  • 9175: cygwin: pari's sea.gp program segfaults on Cygwin

  • 9518: Add an spkg-check file for Pari

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.prealpha4.tar, which is a complete Sage distribution based on sage-4.5.3.rc0. Just extract it, and type make. In this file, the following tickets have been merged:

    • 9343 (positive_review): PARI upgrade

    • 9860 (positive_review): Port changes in PARI 2.3.5.p4 (#9722) to current 2.4.3

    • 9591 (positive_review): genus2reduction

    • 9592 (positive_review): lcalc

    • 9845 (needs_review): lcalc doesn't build on cygwin due to missing time.h include

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

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

  • If it compiles, you can run the PARI/GP test suite and test PARI's self-tuning capability by doing

    •      env SAGE_CHECK=yes SAGE_TUNE_pari=yes ./sage -f pari-2.4.3.svn-12577.p5.spkg

      (To keep the spkg's build directory $SAGE_ROOT/spkg/build/pari-2.4.3.svn-12577.p5/, use ... ./sage -f -s ... instead. This way you'll be able to inspect PARI's logs of eventual self-test failures.)

  • 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.p5.spkg and then type the following in a shell:

tar xjf pari-2.4.3.svn-12577.p5.spkg
cd pari-2.4.3.svn-12577.p5/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 has problems on some systems. Since tuning is disabled by default, this is not essential for this ticket.
    • There are e.g. problems with PARI's self-tuning on Pentium 4 Prescotts:

    • Self-tuning hangs on Fedora 13 (gcc 4.4.4).
    • Self-test fails after self-tuning on Ubuntu 9.04 (gcc 4.3.3), but only due to numerical noise. See #9899

  • 9876: Building PARI/GP with SAGE_CHECK=yes fails on rnfkummer on a PPC Mac OS X 10.4 and on a Solaris SPARC. This looks like an upstream problem with PARI/GP.