#11616: Upgrade MPIR to a more recent upstream release
----------------------------------------------------------------------------------------------------------------+
       Reporter:  leif                                                          
                                |         Owner:  leif                          
           Type:  enhancement                                                   
                                |        Status:  needs_review                  
       Priority:  blocker                                                       
                                |     Milestone:  sage-5.0                      
      Component:  packages                                                      
                                |    Resolution:                                
       Keywords:  sd32, GMP, SandyBridge, Westmere, yasm re2c race condition, 
Linux ia64 Itanium GCC 4.7.0 bug  |   Work issues:                              
  
Report Upstream:  N/A                                                           
                                |     Reviewers:  Jeroen Demeyer, Leif Leonhardy
        Authors:  Leif Leonhardy, Jeroen Demeyer                                
                                |     Merged in:                                
   Dependencies:                                                                
                                |      Stopgaps:                                
----------------------------------------------------------------------------------------------------------------+

Comment (by jdemeyer):

 Replying to [comment:48 leif]:
 > It would have been better if you made a p3, and not deleted my diff with
 the changes of my p2.
 Since your changes weren't committed, I thought it was open to changes.
 Anyway, this would probably "blow up" the Mercurial repository more than
 my .asm patch ;-)

 >  There's no need to remove the conditional unsetting of `PYTHON`, as I
 already argued above.
 I really don't see the need for the `PYTHON` stuff.  If somebody just
 installs this spkg with "`./sage -i`", then `PYTHON` will not be set.
 `PYTHON` will only be set if this spkg is installed through
 `spkg/install`.  I cannot think of a plausable scenario where this would
 happen.

 >  I wouldn't add a patch for the `.asm` files, but instead "patch" them
 (with `sed`) on the fly.  Otherwise this just blows up the Mercurial
 repository
 The patch isn't that large, so it's not going to "blow up" the Mercurial
 repository.  Besides, I don't want to worry about the portability of the
 find/sed commands that I'm using.

 >  Reading `CC` and `CFLAGS` ''from system-wide `gmp.h` files'' is also
 for informational purposes.
 Who reads log files anyway?

 > Using the strings from that header (and not MPIR's `Makefile`, which
 btw. could contain tabs as well) is the safer way, as these definitions
 are documented and '''supposed''' to be (easily read out and) used by
 other programs.  (The [structure of the] `Makefile` is subject to change
 without notice.)
 Agreed that it's subject to change without notice, but at least we'll
 notice if it changes.  Reading them from Makefile is absolutely the
 easiest way.

 > You should also check whether reading the `CFLAGS` from the `Makefile`
 apparently succeeded.
 This is harder to do.  In theory, `CFLAGS` could be empty.  Moreover, it
 looks quite unlikely to me that reading `CC` would succeed but reading
 `CFLAGS` would fail.

 >  I don't know why you removed the `-march=native` stuff;
 I removed it because it wasn't used!  Reading the CC and CFLAGS from MPIR
 should always succeed now (as far as I can tell), so the code using
 `-march=native` would never be reached.

 > I does in general make sense, especially since (at least the version in
 Sage -- also regarding how long it takes to get a "new" version in) will
 not always properly detect the CPU, i.e., will choose a more generic
 target CPU [family] than `-march=native` does.
 Perhaps always using `-march=native` does make sense, but that's outside
 the scope of this ticket.

 >  It's not necessary to move the work-around for GCC 4.7.x on ia64, as we
 don't support Itanium on anything but Linux.
 So what?  Why ''a priori'' restrict it to Linux?

 > Moreover, using the odd `testcc.sh` script fails if `$CC` contains more
 than one word
 Agreed, `$CC` should be quoted.

 > using shell pattern matching is not only more efficient
 Seriously?  You're worrying about efficientcy of shell scripts?

 > but also more readable.
 I find my code quite readable.

 >  I'm pretty sure we still need a work-around for newer CPUs (and GCCs)
 on MacOS X, slightly different to what I previously added to the p2, at
 least to avoid strange error messages.
 Let's see what users report...  It doesn't make sense to me to add a
 complicated workaround for a corner case which doesn't occur in practice.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11616#comment:51>
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