Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade PARI to svn snapshot 12577 - a pre-release of PARI 2.4.3. #9343

Closed
williamstein opened this issue Jun 26, 2010 · 438 comments
Closed

Upgrade PARI to svn snapshot 12577 - a pre-release of PARI 2.4.3. #9343

williamstein opened this issue Jun 26, 2010 · 438 comments

Comments

@williamstein
Copy link
Contributor

See #7736 (a bug this will fix), #8453 (last pari upgrade).

See http://wiki.sagemath.org/NewPARI for more information and links.

CC: @robertwb @loefflerd @JohnCremona @jdemeyer

Component: packages: standard

Author: Robert Bradshaw, John Cremona, Jeroen Demeyer, William Stein, David Kirkby

Reviewer: Robert Bradshaw, John Cremona, Jeroen Demeyer, William Stein, David Kirkby, François Bissey, Leif Leonhardy

Merged: sage-4.6.alpha0

Issue created by migration from https://trac.sagemath.org/ticket/9343

@williamstein
Copy link
Contributor Author

comment:1

NOTE: According to http://pari.math.u-bordeaux.fr/packages.html, there are now two seadata tarballs; we'll have to make one standard, and one optional.

@williamstein
Copy link
Contributor Author

comment:3

The new ellap (which replaces the sea.gp script in sage) is seriously buggy, evidently. Sometimes it works, but the first example I tried fails miserably.


? ellap(ellinit([1,2,7,4,3]),nextprime(10^20))
%1 = -4070602678
? ellap(ellinit([1,2,3,4,5]),nextprime(10^20))
  ***   at top-level: ellap(ellinit([1,2,3
  ***                 ^--------------------
  *** ellap: bug in PARI/GP (Segmentation Fault), please report
  ***   Break loop: type 'break' to go back to GP
break> 

? ellap(ellinit([1,2,3,4,5]),nextprime(10^25))
%2 = 1231939791654
? ellap(ellinit([1,2,3,4,5]),nextprime(10^30))
%3 = 1790178944607137
? ellap(ellinit([1,2,3,4,5]),nextprime(10^35))
  ***   at top-level: ellap(ellinit([1,2,3
  ***                 ^--------------------
  *** ellap: bug in PARI/GP (Segmentation Fault), please report
  ***   Break loop: type 'break' to go back to GP
break> 

NOTE: To use ellap for big p, you must put the extracted data from seadata.tgz/data/* in local/share/pari, as explained here: http://pari.math.u-bordeaux.fr/packages.html

I'm reporting this bug upstream now.

@mwhansen
Copy link
Contributor

comment:4

This could hopefully fix the SEA segfault in Cygwin.

@robertwb
Copy link
Contributor

comment:5

pari.listcreate no longer pre-allocates the entire list, so can't be used in the _pari_trap (out of memory) tests.

@robertwb
Copy link
Contributor

Attachment: 9343-part1-builds.patch.gz

@williamstein
Copy link
Contributor Author

comment:6

My spkg is here:

http://sage.math.washington.edu/home/wstein/build/sd22/pari/sage-4.5.alpha0/pari-2.4.3.svn.spkg

@williamstein
Copy link
Contributor Author

comment:7

Attachment: trac_9343-part2.patch.gz

@williamstein

This comment has been minimized.

@robertwb
Copy link
Contributor

Attachment: trac_9343-part4.patch.gz

Attachment: 9343-part3-algdep.patch.gz

@robertwb
Copy link
Contributor

comment:8

Here is a list of functions from decl.pxi that show up nowhere in the pari sources (using grep): http://sage.math.washington.edu/home/robertwb/scratch/robertwb/sage-4.4.4/missing_functions.txt

@kiwifb
Copy link
Member

kiwifb commented Jun 26, 2010

comment:9

Just as a practicality could we put a date in the spkg's name?
It is a svn snapshot so we really want to know when it has been taken.

@robertwb
Copy link
Contributor

Attachment: trac_9343-part5.patch.gz

@williamstein
Copy link
Contributor Author

@robertwb
Copy link
Contributor

comment:11

New spkg at http://sage.math.washington.edu/home/robertwb/pari-2.4.3.svn.p1.spkg (updated patch files).

@williamstein
Copy link
Contributor Author

comment:12

Attachment: trac_9343-part7-fix_signals.patch.gz

Suspiciousness when installing pari-2.4.3.svn.p1.spkg:


0 --with-gxx-include-dir=/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5659)
****************************************************
./spkg-install: line 1: B1: command not found
./spkg-install: line 1: 2000: command not found
./spkg-install: line 1: 0c#!/bin/sh: No such file or directory
Configuring pari-2.4.3 (DEVELOPMENT VERSION) 
Checking echo to see how to suppress newlines...
...using \c
Looking for some tools first ...

@williamstein
Copy link
Contributor Author

comment:13

Polynomial factorization over number fields is broken:

?  nffactor(nfinit(y^2-5), x^5 - x^4 - 7*x^3 + x^2 + 7*x - 3)
%6 = 
[x - 3 1]

[x + Mod(-1/2*y + 1/2, y^2 - 5) 4]

[x + Mod(1/2*y + 1/2, y^2 - 5) 0]

? factor                 
factor        factorcantor  factorial     factormod     factorpadic   
factorback    factorff      factorint     factornf      
? factornf(x^5 - x^4 - 7*x^3 + x^2 + 7*x - 3, y^2-5)
%7 = 
[x - 3 1]

[x + Mod(-1/2*y + 1/2, y^2 - 5) 0]

[x + Mod(1/2*y + 1/2, y^2 - 5) 4]

Here's what used to happen:

? nffactor(nfinit(y^2-5), x^5 - x^4 - 7*x^3 + x^2 + 7*x - 3)
%7 = 
[x - 3 1]
[x + Mod(-1/2*y + 1/2, y^2 - 5) 2]
[x + Mod(1/2*y + 1/2, y^2 - 5) 2]

@williamstein
Copy link
Contributor Author

comment:14

Above "Polynomial factorization over number fields is broken" has now been reported upstream by me to submit@pari.math.u-bordeaux.fr

@robertwb
Copy link
Contributor

comment:15

Here's a link to the doctest failures: http://sage.math.washington.edu/home/robertwb/scratch/robertwb/sage-4.4.4/doctests.log

@williamstein
Copy link
Contributor Author

comment:16

New spkg:

 http://sage.math.washington.edu/home/wstein/patches/pari-2.4.3.svn.p2.spkg

@williamstein
Copy link
Contributor Author

comment:17

New version

http://sage.math.washington.edu/home/wstein/patches/pari-2.4.3.svn.p3.spkg

@williamstein
Copy link
Contributor Author

comment:18

NOTE: pari-2.4.3.svn.p3.spkg fixes the polynomial factorization bug mentioned above.

@robertwb
Copy link
Contributor

Attachment: 9343-part8.patch.gz

@robertwb
Copy link
Contributor

@williamstein
Copy link
Contributor Author

@williamstein
Copy link
Contributor Author

Attachment: trac_9343-part9-get_rid_of_sea.patch.gz

@robertwb
Copy link
Contributor

Attachment: 9343-part10.patch.gz

a couple more doctest fixes

@nexttime
Copy link
Mannequin

nexttime mannequin commented Sep 7, 2010

comment:385

Replying to @nexttime:

Btw, tuning also works on the Pentium 4 Prescott with GMP 4.2.4 and gcc 4.3.3, so perhaps there's a bug in GMP; a bug in gcc (4.4.4) is IMHO rather unlikely.

But there another test fails (in linear-{sta,dyn}) which is not due to missing data files; perhaps numerical noise... (Both diffs are identical.)

@jdemeyer
Copy link

jdemeyer commented Sep 7, 2010

comment:386

Replying to @nexttime:

But there another test fails (in linear-{sta,dyn}) which is not due to missing data files; perhaps numerical noise... (Both diffs are identical.)

This shouldn't happen, can you make a new ticket and post the the linear-sta.dif?

@nexttime
Copy link
Mannequin

nexttime mannequin commented Sep 7, 2010

comment:387

Final post here (I'll open a new ticket shortly):

Replying to @nexttime:

Replying to @nexttime:

The prealpha4 passed ptestlong on Ubuntu 10.04 x86_64 (Core2) and Fedora 13 x86 (Pentium 4 Prescott), too. Installing the package with SAGE_CHECK=yes also works.

Tuning now doesn't give an error on the former, but still hangs on the latter (see previous posts).

It also hangs with CFLAGS=-O0, and also if I do

.../pari-2.4.3.svn-12577.p5/src$ ./Configure --graphic=none --kernel=gmp --tune

(which uses the system's GMP, which is version 4.3.1), regardless of CFLAGS settings. (gcc is version 4.4.4.)

It also hangs with GMP 5.0.1 ("plain" PARI, gcc 4.4.4 as before, in tuning REMIIMUL_LIMIT).

It doesn't always hang at exactly the same point (of output), but this might simply be due to unflushed buffers; the point where it "stops" only differs by some lines (different size / threshold for the same function, when attempting to tune REMIIMUL_LIMIT if I understand correctly).

@JohnCremona
Copy link
Member

comment:388

prealpha4 worked fine for me on 32-bit and 64-bit linux.

Now that 4.5.3 has been released it would be great of we could get this as the beginning of an actual 4.6.0 series.

@nexttime
Copy link
Mannequin

nexttime mannequin commented Sep 8, 2010

comment:389

Replying to @JohnCremona:

Now that 4.5.3 has been released it would be great of we could get this as the beginning of an actual 4.6.0 series.

Mitesh Patel wrote on sage-release ("4.6 sketch" thread):

On 09/07/2010 05:38 PM, Jason Grout wrote:

What do you see as the window for merging changes into 4.6? I'd like to
finish some significant changes to fast_callable, but don't think they
should be introduced in a point-point release. 4.6 sounds like a good
release for the changes.

Up to three weeks. I think there will be three alphas for the 4.6
cycle, since I'll focus on the PARI upgrade (#9343 and related tickets)
for 4.6.alpha0. For alpha1 and alpha2, I plan to merge most of the
other positively reviewed tickets waiting at reports 11 and 32:

http://trac.sagemath.org/sage_trac/report/11
http://trac.sagemath.org/sage_trac/report/32

Of course, how it really goes will depend significantly on build and
test reports.
[...]

:)

(For unknown reason I do not see this thread on Google's page.)

@qed777
Copy link
Mannequin

qed777 mannequin commented Sep 10, 2010

Attachment: extcode_9343_combined4.patch.gz

Update commit string for combined extcode patch.

@qed777
Copy link
Mannequin

qed777 mannequin commented Sep 10, 2010

comment:390

I've updated the commit string for the extcode patch and updated NewPARI.

@qed777
Copy link
Mannequin

qed777 mannequin commented Sep 10, 2010

Merged: sage-4.6.alpha0

@qed777 qed777 mannequin removed the s: positive review label Sep 10, 2010
@qed777 qed777 mannequin closed this as completed Sep 10, 2010
@nexttime
Copy link
Mannequin

nexttime mannequin commented Sep 24, 2010

comment:392

Replying to @jdemeyer:

I found out what prevents PARI/GP from compiling on Solaris. The problem is that /bin/sh from Solaris doesn't know about test -e <filename>.

It should, since test -e ... is POSIX (2004).

Dave, what shell is /bin/sh there?

@sagetrac-drkirkby
Copy link
Mannequin

sagetrac-drkirkby mannequin commented Sep 25, 2010

comment:393

Replying to @nexttime:

Replying to @jdemeyer:

I found out what prevents PARI/GP from compiling on Solaris. The problem is that /bin/sh from Solaris doesn't know about test -e <filename>.

It should, since test -e ... is POSIX (2004).

Dave, what shell is /bin/sh there?

/bin/sh is a borne shell, but it is not POSIX compatible, since to make it POSIX compatible would break backwards compatibility in Solaris.

There are however other shells, such as /usr/xpg4/bin/sh which are POSIX compatible. Hence there is a need to work around the Solaris shell /bin/sh, and do not assume that it is POSIX compatible, since it is not.

Dave

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants