Opened 7 years ago

Closed 7 years ago

#12548 closed enhancement (fixed)

In MPFR, don't delete old libraries

Reported by: jdemeyer Owned by: tbd
Priority: major Milestone: sage-5.0
Component: packages: standard Keywords:
Cc: jpflori Merged in: sage-5.0.beta6
Authors: Jeroen Demeyer Reviewers: John Palmieri
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description (last modified by jdemeyer)

libmpfr (and libmpfr and libmpc, #12515) are run-time dependencies of gcc (#12369). These therefore become build-time dependencies of Sage. When these libraries are deleted during installation of mpfr, gcc stops working, causing build failures in parallel builds.

Since there is no clear reason why the old libraries should be deleted, we simply don't delete them. The mpir spkg-install already doesn't delete libraries and mpc will be fixed in #12515.

spkg: http://boxen.math.washington.edu/home/jdemeyer/spkg/mpfr-2.4.2.p2.spkg

Attachments (1)

mpfr-2.4.2.p2.diff (1.1 KB) - added by jdemeyer 7 years ago.
Diff for the mpfr spkg, for review only

Download all attachments as: .zip

Change History (9)

comment:1 Changed 7 years ago by jdemeyer

  • Authors set to Jeroen Demeyer
  • Description modified (diff)

Changed 7 years ago by jdemeyer

Diff for the mpfr spkg, for review only

comment:2 Changed 7 years ago by jdemeyer

  • Description modified (diff)
  • Summary changed from In MPIR and MPFR, don't delete old libraries to In MPFR, don't delete old libraries

comment:3 Changed 7 years ago by jdemeyer

  • Status changed from new to needs_review

comment:4 Changed 7 years ago by jhpalmieri

  • Reviewers set to John Palmieri
  • Status changed from needs_review to positive_review

Looks good to me. Why even delete the headers?

comment:5 follow-up: Changed 7 years ago by jpflori

Isn't the point of deleting the old librairies to not have tons of old librairies inside lib/ if Sage keeps on getting updated?

You might argue that it's not a big deal, because Sage is already so big, but...

And wasn't #12366 sufficient for building gcc?

comment:6 Changed 7 years ago by jpflori

  • Cc jpflori added

comment:7 in reply to: ↑ 5 Changed 7 years ago by jdemeyer

Replying to jpflori:

Isn't the point of deleting the old librairies to not have tons of old librairies inside lib/ if Sage keeps on getting updated?

Probably. But this wouldn't work here, as deleting the old mpir/mpfr/mpc libraries would mean that gcc stops working. There are work-arounds, but they would make the build/upgrade process a lot more complicated.

And wasn't #12366 sufficient for building gcc?

For serial builds, #12366 is sufficient. The problem with parallel builds is that there is a cerain time between the deleting of the old mpfr libraries and the installation of the new mpfr libraries. During that time, a gcc in a parallel build wouldn't work anymore.

comment:8 Changed 7 years ago by jdemeyer

  • Merged in set to sage-5.0.beta6
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.