Opened 8 years ago

Last modified 8 years ago

#11130 closed defect

Update PARI to version 2.5.0 — at Version 63

Reported by: jdemeyer Owned by: jdemeyer
Priority: critical Milestone: sage-4.8
Component: packages: standard Keywords: pari spkg sd32
Cc: mstreng, dimpase, jpflori Merged in:
Authors: Jeroen Demeyer, John Cremona Reviewers: John Cremona
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: #11230, #11234, #11321 (install this after building PARI) Stopgaps:

Description (last modified by leif)

We need to add bugfixes for

  1. http://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=1147 (#9334)
  2. http://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=1153 (#10195)
  3. http://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=1154 (#11604)
  4. http://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=1184 (related to #9937)
  5. http://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=1185 (PARI bug discovered by a Sage doctest)
  6. http://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=1186 (PARI performance regression discovered by a Sage doctest)
  7. http://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=1187 (PARI bug discovered by a Sage doctest)
  8. http://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=1188 (PARI bug discovered by a Sage doctest)
  9. #10240 (pari-2.4.3.svn-12577.p9 incorrectly checks for the shared library on Cygwin). We simply use the spkg patch from that ticket.
  10. http://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=1192 (#10767)

We will do this by updating to PARI version 2.5.0, which is equal to svn revision 13228.


See also:

  • #9343, #10430 (previous PARI upgrades)
  • #10247 (Sage 4.6 has PARI problems on Cygwin)
  • #10240 (pari-2.4.3.svn-12577.p9 incorrectly checks for the shared library on Cygwin), included in the 2.4.3.alpha.p7 spkg at #11605
  • #11604 (PARI qfminim bug on 32-bit systems (Sage 4.7 and 4.6.2)), providing a 2.4.3.alpha.p8 spkg which fixes PARI bug 1154 (see above)
  • #11605 ([Severe] Typos in PARI's spkg-install (2.4.3.alpha.p5)), included in the 2.4.3.alpha.p8 spkg at #11604

Apply:

  1. spkg http://boxen.math.washington.edu/home/jdemeyer/spkg/pari-2.5.0.p0.spkg
  2. spkg #11321 http://boxen.math.washington.edu/home/jdemeyer/spkg/lcalc-1.23.p7.spkg
  3. 11130_sagelib.patch (jdemeyer)
  4. trac_11130-doctest-poly.patch (cremona)
  5. 11130_sagelib32.patch (cremona)
  6. 11130-sagelib-simon.patch (cremona)
  7. 11130_reviewer32.patch (jdemeyer)
  8. extcode patch 11130-extcode-simon.patch (cremona)

Change History (67)

comment:1 Changed 8 years ago by jdemeyer

  • Description modified (diff)
  • Summary changed from Add some patches to PARI to Update PARI to a more recent SVN version

comment:2 Changed 8 years ago by jdemeyer

  • Description modified (diff)
  • Status changed from new to needs_work

comment:3 Changed 8 years ago by jdemeyer

  • Description modified (diff)

comment:4 Changed 8 years ago by mstreng

  • Cc mstreng added

comment:5 Changed 8 years ago by jdemeyer

  • Milestone changed from sage-4.7 to sage-4.7.1

comment:6 Changed 8 years ago by jdemeyer

  • Description modified (diff)

comment:7 Changed 8 years ago by jdemeyer

  • Description modified (diff)

comment:8 Changed 8 years ago by jdemeyer

  • Description modified (diff)

comment:9 Changed 8 years ago by jdemeyer

  • Description modified (diff)

comment:10 Changed 8 years ago by jdemeyer

  • Description modified (diff)

comment:11 Changed 8 years ago by jdemeyer

  • Description modified (diff)

comment:12 Changed 8 years ago by jdemeyer

  • Dependencies set to #11230
  • Description modified (diff)

comment:13 Changed 8 years ago by jdemeyer

  • Description modified (diff)

comment:14 Changed 8 years ago by jdemeyer

  • Description modified (diff)

comment:15 Changed 8 years ago by dimpase

  • Cc dimpase added

comment:16 Changed 8 years ago by jdemeyer

  • Description modified (diff)

comment:17 follow-up: Changed 8 years ago by cremona

I am currently testing this. To avoid duplication of effort, I'll fix things I find in the elliptic_curves directory only.

comment:18 follow-up: Changed 8 years ago by cremona

After (1) Building a fresh 4.7.alpha5 from scratch, (2) installing the spkg lined here with "sage -f", (3) applying the patch here to the sage library and (4) running "sage -b", I find that the Sage build will not start up properly:

ImportError                               Traceback (most recent call last)
...

/home/jec/sage-4.7.alpha5.11130/local/lib/python2.6/site-packages/sage/misc/functional.py in <module>()
     36 
     37 
---> 38 from sage.rings.complex_double import CDF
     39 from sage.rings.real_double import RDF, RealDoubleElement
     40 

/home/jec/sage-4.7.alpha5.11130/local/bin/gen.pxd in init sage.rings.complex_double (sage/rings/complex_double.c:15178)()

ImportError: /home/jec/sage-4.7.alpha5.11130/local/lib/python2.6/site-packages/sage/libs/pari/gen.so: undefined symbol: defaultOut
Error importing ipy_profile_sage - perhaps you should run %upgrade?
WARNING: Loading of ipy_profile_sage failed.

so I cannot test anything.

Did I do something wrong?

comment:19 in reply to: ↑ 18 ; follow-up: Changed 8 years ago by jdemeyer

Replying to cremona:

Did I do something wrong?

This ticket depends on #11230.

comment:20 in reply to: ↑ 19 Changed 8 years ago by cremona

Replying to jdemeyer:

Replying to cremona:

Did I do something wrong?

This ticket depends on #11230.

I see! I'll have some time to spend on this tomorrow (Monday) so I'll have another go.

comment:21 Changed 8 years ago by jdemeyer

  • Dependencies changed from #11230 to #11230, #11234
  • Description modified (diff)
  • Owner changed from tbd to jdemeyer

comment:22 in reply to: ↑ 17 Changed 8 years ago by jdemeyer

Replying to cremona:

I am currently testing this. To avoid duplication of effort, I'll fix things I find in the elliptic_curves directory only.

Sounds good, I will look at everything else.

Changed 8 years ago by cremona

Applies after previous

comment:23 Changed 8 years ago by cremona

I added a patch which fixes the doctest failures in sage/rings/polynomial/polynomial_quotient_ring.py . In all cases the new output was equivalent to the old.

There are now just some failures in sage/schemes/elliptic_curves/ell_rational_field.py (2 doctests failed) and sage/schemes/elliptic_curves/ell_number_field.py (1 doctests failed).

comment:24 Changed 8 years ago by cremona

  • Reviewers set to John Cremona
  • Status changed from needs_work to needs_review

ell_rational_field.py: only one failure, looks completely trivial but will be left until #11005 to be fixed.

ell_number_field.py: one failure, even more trivial: the final output is exactly the same as it was but the verbose output is a little different, so this can be easily cleaned up at #11005.

As far as I am concerned this needs *no more work* on this ticket, but I'll delay marking it positive review until the same is possible at #11005. Still, it certainly gets "needs review" on that basis.

comment:25 follow-up: Changed 8 years ago by jdemeyer

This patch should also be tested on various systems first, PARI is known to produce different results on 32-bit and 64-bit systems.

comment:26 in reply to: ↑ 25 Changed 8 years ago by cremona

Replying to jdemeyer:

This patch should also be tested on various systems first, PARI is known to produce different results on 32-bit and 64-bit systems.

Good point. I can test it on my 32-bit laptop.

comment:27 Changed 8 years ago by jdemeyer

  • Description modified (diff)
  • Work issues set to Test on various systems

comment:28 Changed 8 years ago by jdemeyer

  • Description modified (diff)

comment:29 Changed 8 years ago by jdemeyer

  • Description modified (diff)

comment:30 Changed 8 years ago by jdemeyer

  • Work issues changed from Test on various systems to Test on various systems with #10247 applied

comment:31 Changed 8 years ago by jdemeyer

  • Status changed from needs_review to needs_work

In sage/rings/number_field/number_field.py, there is a test which fails only when -long is not used.

comment:32 Changed 8 years ago by jdemeyer

New patch fixes the long time issue (by setting a random seed explicitly). I will test on a Mac OS X 10.4 32-bit PPC system.

comment:33 Changed 8 years ago by jdemeyer

  • Authors changed from Jeroen Demeyer to Jeroen Demeyer, John Cremona

comment:34 follow-up: Changed 8 years ago by cremona

Testing now on a 32-bit ubuntu system.

comment:35 in reply to: ↑ 34 Changed 8 years ago by cremona

Replying to cremona:

Testing now on a 32-bit ubuntu system.

... which gave several more failures:

	sage -t  devel/sage-main/sage/rings/number_field/number_field.py # 1 doctests failed
	sage -t  devel/sage-main/sage/schemes/elliptic_curves/ell_number_field.py # 2 doctests failed
	sage -t  devel/sage-main/sage/schemes/elliptic_curves/ell_rational_field.py # 1 doctests failed
	sage -t  devel/sage-main/sage/rings/number_field/number_field_element.pyx # 1 doctests failed
	sage -t  devel/sage-main/sage/rings/polynomial/polynomial_quotient_ring.py # 3 doctests failed
	sage -t  devel/sage-main/sage/rings/integer.pyx # 1 doctests failed

Details:

sage -t  "devel/sage-main/sage/rings/number_field/number_field.py"
**********************************************************************
File "/home/john/sage-4.7.alpha5/devel/sage-main/sage/rings/number_field/number_field.py", line 3616:
    sage: L.factor(a + 1)
Expected:
    (Fractional ideal (1/2*a*b + a + 1/2)) * (Fractional ideal (-1/2*b - 1/2*a + 1))
Got:
    (Fractional ideal (-1/2*a*b - a - 1/2)) * (Fractional ideal (1/2*b + 1/2*a - 1))

is trivial,

sage -t  "devel/sage-main/sage/rings/number_field/number_field_element.pyx"
**********************************************************************
File "/home/john/sage-4.7.alpha5/devel/sage-main/sage/rings/number_field/number_field_element.pyx", line 1142:
    sage: t = (2*a + b)._rnfisnorm(L); t[1]
Expected:
    (b - 2)*a + 2*b - 3
Got:
    (-4*b - 5)*a + 5*b + 6

needs looking at,

sage -t  "devel/sage-main/sage/rings/polynomial/polynomial_quotient_ring.py"

are just like the ones I fixed before on the other machine, and

sage -t  "devel/sage-main/sage/rings/integer.pyx"           
**********************************************************************
File "/home/john/sage-4.7.alpha5/devel/sage-main/sage/rings/integer.pyx", line 4389:
    sage: 7._bnfisnorm(CyclotomicField(7))
Expected:
    (-zeta7 + 1, 1)
Got:
    (-zeta7^5 + zeta7^4, 1)

is also trivial (multiplying by a power of zeta does not change the norm!).

That's all I have time for today, so I hope things look similar on the other 32-bit system being tested.

Changed 8 years ago by cremona

Apply after previous

comment:36 Changed 8 years ago by cremona

  • Description modified (diff)

I have added a new patch (which affects 4 files in sage/rings) after which all doctests pass on both 32- and 64-bit, apart from the simon-related ones.

That means that it is time to check #11005 on top of all this.

comment:37 Changed 8 years ago by jdemeyer

  • Description modified (diff)
  • Work issues Test on various systems with #10247 applied deleted

comment:38 Changed 8 years ago by jdemeyer

  • Description modified (diff)

comment:39 Changed 8 years ago by jdemeyer

  • Description modified (diff)
  • Summary changed from Update PARI to a more recent SVN version to Update PARI to version 2.4.4.BETA

comment:40 Changed 8 years ago by jdemeyer

  • Description modified (diff)

comment:41 follow-up: Changed 8 years ago by jdemeyer

lcalc fails to build with the new PARI:

Lcommandline.cc: In function 'int main(int, char**)':
Lcommandline.cc:476:54: error: 'allocatemoremem' was not declared in this scope
Lcommandline.cc:403:16: warning: unused variable 'C' [-Wunused-variable]
Lcommandline.cc:38:9: warning: unused variable 'i' [-Wunused-variable]
In file included from ../include/L.h:537:0,
                 from ../include/Lcommandline.h:36,
                 from Lcommandline.cc:31:
../include/Lvalue.h: In member function 'Complex L_function<ttype>::find_delta(Complex, Double) [with ttype = int, Complex = std::complex<double>, Double = double]':
Lcommandline.cc:463:50:   instantiated from here
../include/Lvalue.h:37:21: warning: unused variable 'f2' [-Wunused-variable]
make[1]: *** [Lcommandline.o] Error 1
make[1]: Leaving directory `/usr/local/src/sage-4.7.alpha5/spkg/build/lcalc-20100428-1.23.p6/src/src'
make: *** [all] Error 2
Error building lcalc 'make'

comment:42 in reply to: ↑ 41 ; follow-up: Changed 8 years ago by cremona

Replying to jdemeyer:

lcalc fails to build with the new PARI:

Mike Rubenstein needs to be made aware of this.

comment:43 follow-up: Changed 8 years ago by fbissey

What about genus2reduction? I am assuming John already made sure eclib is working.

comment:44 in reply to: ↑ 43 Changed 8 years ago by cremona

Replying to fbissey:

What about genus2reduction? I am assuming John already made sure eclib is working.

A reasonable assumption, but...for a while now I have used Sage's Pari and NTL builds rather than building them myself independently, so I cannot yet confirm. (However, eclib's use of Pari is minimal, it's only for integer factorization.)

I am also preparing a new version of eclib, so I will combine these two tasks, though I don't have any time for this this week.

comment:45 in reply to: ↑ 42 Changed 8 years ago by jdemeyer

Replying to cremona:

Replying to jdemeyer:

lcalc fails to build with the new PARI:

Mike Rubenstein needs to be made aware of this.

First I will see if I can fix the error and then send the patches to him.

comment:46 Changed 8 years ago by jdemeyer

  • Dependencies changed from #11230, #11234 to #11230, #11234, #11321
  • Description modified (diff)

See #11321 for lcalc.

comment:47 Changed 8 years ago by jdemeyer

  • Dependencies changed from #11230, #11234, #11321 to #11230, #11234, #11321 (install this '''after''' building PARI)

comment:48 follow-up: Changed 8 years ago by jdemeyer

  • Work issues set to Fix simon_two_descent doctests

I built Sage completely from scratch with the new PARI and lcalc packages, everything works. All tests pass except for the ones related to simon_two_descent.

comment:49 in reply to: ↑ 48 ; follow-up: Changed 8 years ago by cremona

Replying to jdemeyer:

I built Sage completely from scratch with the new PARI and lcalc packages, everything works. All tests pass except for the ones related to simon_two_descent.

So is the "Needs work" just because this ticket is dependent on #11005? I am planning to look now at the doctest failures relating to the Simon scripts and fix them, so that this ticket can then be closed, and the additional work needed on #11005 can depend on this.

comment:50 in reply to: ↑ 49 ; follow-up: Changed 8 years ago by jdemeyer

  • Description modified (diff)

Replying to cremona:

I am planning to look now at the doctest failures relating to the Simon scripts and fix them, so that this ticket can then be closed, and the additional work needed on #11005 can depend on this.

That's precisely what I proposed.

comment:51 in reply to: ↑ 50 Changed 8 years ago by cremona

Replying to jdemeyer:

Replying to cremona:

I am planning to look now at the doctest failures relating to the Simon scripts and fix them, so that this ticket can then be closed, and the additional work needed on #11005 can depend on this.

That's precisely what I proposed.

OK, so that's what I am working on doing. Patch up shortly. However, I ran into something awkward: the script ellQ.gp in data/extcode/pari/simon crashed randomly in the function ellredgen (using this new pari version). I saw that the offending lines had been changed in the newer ellQ.gp as found in #11005, so I made the same changes. This sorts the problem, but it means that for this ticket to be finished we need to also make a small patch to extcode. Any problems with that?

Changed 8 years ago by cremona

Apply to sage library after previous

Changed 8 years ago by cremona

Apply to extcode repository

comment:52 Changed 8 years ago by cremona

  • Description modified (diff)
  • Status changed from needs_work to needs_review

comment:53 Changed 8 years ago by jdemeyer

  • Description modified (diff)

comment:54 Changed 8 years ago by jdemeyer

  • Description modified (diff)
  • Work issues Fix simon_two_descent doctests deleted

comment:55 Changed 8 years ago by cremona

Is the only thing stopping this going forward the latest reviewer patch?

comment:56 follow-up: Changed 8 years ago by jdemeyer

As far as I know, all patches and spkgs still need review. I can review your patches (but give me some time).

comment:57 in reply to: ↑ 56 Changed 8 years ago by cremona

Replying to jdemeyer:

As far as I know, all patches and spkgs still need review. I can review your patches (but give me some time).

Well I considered that I had reviewed (positively) everything except my last patch fixing the Simon doctests so that's the only thing left needing a review (from you perhaps, especially as you made some extra fixes for 32/64 bit issues).

comment:58 Changed 8 years ago by jdemeyer

Also lcalc (#11321) needs review.

comment:59 Changed 8 years ago by kcrisman

The part of the ticket that fixes #10240 is okay, I think.

comment:60 Changed 8 years ago by jdemeyer

  • Description modified (diff)
  • Status changed from needs_review to needs_work
  • Summary changed from Update PARI to version 2.4.4.BETA to Update PARI to version 2.5.0

comment:61 Changed 8 years ago by kcrisman

See #10240 for a request to merge that in 4.7.2 (or whatever the next version is) if this isn't getting merged quickly.

comment:62 Changed 8 years ago by leif

See #11605 for a PARI 2.4.3.alpha.p7 spkg with minor but important fixes to spkg-install (and some corrections in SPKG.txt). I've meanwhile based this on Dima's p6 (which just adds a small, harmless change for Cygwin) from #10240.

(Haven't yet looked at this ticket / spkg here at all.)

comment:63 Changed 8 years ago by leif

  • Description modified (diff)
Note: See TracTickets for help on using tickets.