Opened 11 years ago
Closed 11 years ago
#12329 closed enhancement (fixed)
Remove unneeded dependencies of the Sage library
Reported by: | Jeroen Demeyer | Owned by: | Georg S. Weber |
---|---|---|---|
Priority: | minor | Milestone: | sage-5.0 |
Component: | build | Keywords: | |
Cc: | Merged in: | sage-5.0.beta2 | |
Authors: | Jeroen Demeyer | Reviewers: | François Bissey |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description (last modified by )
According to spkg/standard/deps
, the sage library depends on:
$(INST)/$(SAGE): $(BASE) \ $(INST)/$(SAGE_SCRIPTS) \ $(INST)/$(ATLAS) \ $(INST)/$(CEPHES) \ $(INST)/$(CLIQUER) \ $(INST)/$(CONWAY) \ $(INST)/$(CYTHON) \ $(INST)/$(DOCUTILS) \ $(INST)/$(ECL) \ $(INST)/$(ECLIB) \ $(INST)/$(ECM) \ $(INST)/$(ELLIPTIC_CURVES) \ $(INST)/$(EXTCODE) \ $(INST)/$(FLINT) \ $(INST)/$(FPLLL) \ $(INST)/$(GDMODULE) \ $(INST)/$(GRAPHS) \ $(INST)/$(GIVARO) \ $(INST)/$(GLPK) \ $(INST)/$(GSL) \ $(INST)/$(IML) \ $(INST)/$(IPYTHON) \ $(INST)/$(LCALC) \ $(INST)/$(LIBM4RI) \ $(INST)/$(LIBM4RIE) \ $(INST)/$(LINBOX) \ $(INST)/$(MATPLOTLIB) \ $(INST)/$(MERCURIAL) \ $(INST)/$(MPFI) \ $(INST)/$(MPFR) \ $(INST)/$(MPIR) \ $(INST)/$(MPMATH) \ $(INST)/$(NETWORKX) \ $(INST)/$(NTL) \ $(INST)/$(NUMPY) \ $(INST)/$(PARI) \ $(INST)/$(PEXPECT) \ $(INST)/$(POLYBORI) \ $(INST)/$(PPL) \ $(INST)/$(PYCRYPTO) \ $(INST)/$(PYNAC) \ $(INST)/$(PYTHON) \ $(INST)/$(R) \ $(INST)/$(RATPOINTS) \ $(INST)/$(RUBIKS) \ $(INST)/$(SAGENB) \ $(INST)/$(SCONS) \ $(INST)/$(SETUPTOOLS) \ $(INST)/$(SINGULAR) \ $(INST)/$(SYMMETRICA) \ $(INST)/$(SYMPY) \ $(INST)/$(ZNPOLY)
However, only components which are needed at build-time should be listed here.
Apply 12329_prune_deps.patch to the sage root repository.
With this patch, building just the Sage library using
cd spkg ./install installed/sage-4.8 # put the correct version here
works fine, also using a parallel build.
Just for information: using "make -j", this is the critical path to build the Sage library (every packge in this list depends on the one just above it):
(base) patch iconv libgpg_error libgcrypt opencdk gnutls python fortran lapack atlas linbox sage
Attachments (1)
Change History (14)
comment:1 Changed 11 years ago by
Authors: | → Jeroen Demeyer |
---|---|
Description: | modified (diff) |
comment:2 Changed 11 years ago by
Description: | modified (diff) |
---|---|
Status: | new → needs_review |
Summary: | Removed unneeded dependencies of the Sage library → Remove unneeded dependencies of the Sage library |
comment:3 Changed 11 years ago by
Description: | modified (diff) |
---|
comment:4 Changed 11 years ago by
comment:5 Changed 11 years ago by
You are right, I confused with ECLIB
(which certainly is needed). New patch, needs review.
comment:6 Changed 11 years ago by
Coming from sage-on-gentoo, I am not sure at all that GRAPHS needs to be there. We very much build sage without needing mercurial but we do things a bit differently so that one needs caution. I don't think mpmath is needed to build either if it is we have a bug in sage-on-gentoo.
comment:7 Changed 11 years ago by
While gdmodule is not needed gd actually is and so is png.
Extension('sage.matrix.matrix_mod2_dense', sources = ['sage/matrix/matrix_mod2_dense.pyx'], libraries = ['gmp','m4ri', 'gd', 'png12', 'z'], depends = [SAGE_ROOT + "/local/include/png.h", SAGE_ROOT + "/local/include/m4ri/m4ri.h"]),
for example from module_list.py. Of course these two are needed for polybori so you are probably covered. readline is also there but other dependencies may include it. I cannot check right now.
comment:8 Changed 11 years ago by
Status: | needs_review → needs_work |
---|
Okay, added GD
, LIBPNG
, READLINE
. Removed GRAPHS
, MPMATH
. Testing now.
comment:9 Changed 11 years ago by
Mercurial is needed in the spkg-install
(at least for upgrades), so we cannot remove that.
comment:10 Changed 11 years ago by
Status: | needs_work → needs_review |
---|
The new patch works! Needs review.
comment:11 Changed 11 years ago by
Reviewers: | → François Bissey |
---|---|
Status: | needs_review → positive_review |
Looks good to me, I fully agree with that list and cannot see it failing.
Changed 11 years ago by
Attachment: | 12329_prune_deps.patch added |
---|
comment:12 Changed 11 years ago by
I replaced the "sageruntime" target by a "$(SAGERUNTIME)" variable, similar to the "$(BASE)" variable.
comment:13 Changed 11 years ago by
Merged in: | → sage-5.0.beta2 |
---|---|
Resolution: | → fixed |
Status: | positive_review → closed |
I'm fairly certain the sage library does not need $(INST)/$(ELLIPTIC_CURVES) either (all that package does is install a couple of databases to SAGE_DATA).