Ticket #12329 (closed enhancement: fixed)
Remove unneeded dependencies of the Sage library
| Reported by: | jdemeyer | Owned by: | GeorgSWeber |
|---|---|---|---|
| Priority: | minor | Milestone: | sage-5.0 |
| Component: | build | Keywords: | |
| Cc: | Work issues: | ||
| Report Upstream: | N/A | Reviewers: | François Bissey |
| Authors: | Jeroen Demeyer | Merged in: | sage-5.0.beta2 |
| Dependencies: | Stopgaps: |
Description (last modified by jdemeyer) (diff)
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
Change History
comment:1 Changed 16 months ago by jdemeyer
- Description modified (diff)
- Authors set to Jeroen Demeyer
comment:2 Changed 16 months ago by jdemeyer
- Status changed from new to needs_review
- Description modified (diff)
- Summary changed from Removed unneeded dependencies of the Sage library to Remove unneeded dependencies of the Sage library
comment:4 Changed 16 months ago by rohana
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).
comment:5 Changed 16 months ago by jdemeyer
You are right, I confused with ECLIB (which certainly is needed). New patch, needs review.
comment:6 Changed 16 months ago by fbissey
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 16 months ago by fbissey
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 16 months ago by jdemeyer
- Status changed from needs_review to needs_work
Okay, added GD, LIBPNG, READLINE. Removed GRAPHS, MPMATH. Testing now.
comment:9 Changed 16 months ago by jdemeyer
Mercurial is needed in the spkg-install (at least for upgrades), so we cannot remove that.
comment:10 Changed 16 months ago by jdemeyer
- Status changed from needs_work to needs_review
The new patch works! Needs review.
comment:11 Changed 16 months ago by fbissey
- Status changed from needs_review to positive_review
- Reviewers set to François Bissey
Looks good to me, I fully agree with that list and cannot see it failing.
comment:12 Changed 16 months ago by jdemeyer
I replaced the "sageruntime" target by a "$(SAGERUNTIME)" variable, similar to the "$(BASE)" variable.
comment:13 Changed 16 months ago by jdemeyer
- Status changed from positive_review to closed
- Resolution set to fixed
- Merged in set to sage-5.0.beta2

