#11130: Update PARI to version 2.5.0
--------------------------------------------+-------------------------------
   Reporter:  jdemeyer                      |          Owner:  jdemeyer         
                                              
       Type:  defect                        |         Status:  needs_review     
                                              
   Priority:  critical                      |      Milestone:  sage-4.7.2       
                                              
  Component:  packages                      |       Keywords:  pari spkg        
                                              
Work_issues:                                |       Upstream:  N/A              
                                              
   Reviewer:  John Cremona, Jeroen Demeyer  |         Author:  Jeroen Demeyer, 
John Cremona                                   
     Merged:                                |   Dependencies:  #11230, #11234, 
#11321 (install this '''after''' building PARI)
--------------------------------------------+-------------------------------

Comment(by leif):

 Replying to [comment:83 fbissey]:
 > Replying to [comment:82 kcrisman]:
 > >
 > > > Looks as if you're ''somehow^TM^'' mixing the old PARI (at least the
 static library `libpari.a`) with the new one; PARI 2.5.0 doesn't have an
 `sd_prompt()` function in `default.c` at all.
 > >
 > > Interestingly, it works fine from scratch (building)!  Sorry for the
 noise, if noise it was.
 > >
 > > Is there something about Pari that you shouldn't build it twice in the
 same location?  I notice that it removes and replaces various things in
 `$SAGE_LOCAL` before it's all done, so maybe that could happen.

 The PARI spkg doesn't delete anything of previous installs in advance.
 (The `.alpha`'''`.p5`''' though had a bug which caused the install script
 not to exit with an error if `make` failed. Also, on Cygwin `make -k`
 ("keep going") was used, but that shouldn't matter here, and has been
 removed in the 2.5.0 spkgs.)

 > > In principle, one should be able to `./sage -f` a new version, have
 something break, and then be able to `./sage -f` the original version and
 have everything fine.  Or not even HAVE to `./sage -f` the original
 version.

 Both ''should^TM^'' be possible, at least unless the build succeeds but
 the actual installation fails at some point, in which case the former
 method should still work.

 > > The fact that this doesn't work is not good - shouldn't we only copy
 things over/delete things after the build has successfully completed?

 That's what we do.

 > Well the gp executable is linked against libpari and there is a danger
 that the old one will be used when linking if you are not careful enough.
 It should be ok in principle but the precaution of removing previous
 libpari is a good one.

 Things are a little different on Cygwin, since ''the Sage Cygwin
 developers'' ;-) copy the DLL also to `$SAGE_LOCAL/bin` such that `gp`
 will find its ''shared'' library also there.

 PARI (2.4.3) '''pre'''pends its build path (with `-L`) when using
 `-lpari`, except for when it links `gp`[`-2.4`] "in place", but this
 happens ''after'' the new shared library (`.so*`, `*.dll` on Cygwin) has
 been copied and new symbolic links have been created. The new ''static''
 library is built and copied later though, but that shouldn't matter unless
 `gp` is statically linked on Cygwin, which shouldn't be the case.

 If despite that something weird happens, this is IMHO limited to Cygwin;
 you may attach your spkg install logs (`$SAGE_ROOT/spkg/logs/pari-*.log`)
 such that we can check this.

 We also didn't have problems with upgrading '''to''' 2.4.3 btw., except
 that initially some dependencies of Sage's extension modules were missing
 such that those didn't get rebuilt in the first place (and used the old
 ones with a different version they had been linked to earlier).

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11130#comment:85>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to