New version of PARI/GP: 2.4.3 svn-12577
Relevant tickets
9343: PARI upgrade
9591: genus2reduction
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.
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
Patch for data/extcode: extcode_9343_combined3.patch
Patch for devel/sage: sagelib_9343_combined7.patch
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:
genus2reduction (Note that the old genus2reduction.c file was not under revision control, unfortunately.)
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.
Upstream issue, reported as http://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=1089
- Not essential for this ticket (tuning is disabled by default anyway).
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 doesn't fully work with the new MPIR 2.1.1 spkg (#8664). This is a PARI/GP bug.
