Sorry, I forgot about the file:
#==============================================================================
# This file has been automatically generated by
# <MY_HOME>/sage/build/install
# You should not edit it by hand
#==============================================================================
SHELL = /bin/bash
# Standard packages
ATLAS=atlas-3.10.2
BOEHM_GC=boehm_gc-7.2d.p0
BOOST_CROPPED=boost_cropped-1.52.0
BZIP2=bzip2-1.0.6.20140317
CDDLIB=cddlib-094g.p0
CEPHES=cephes-2.8.p1
CLIQUER=cliquer-1.21.p2
COMBINATORIAL_DESIGNS=combinatorial_designs-20140630
CONWAY=conway_polynomials-0.4.p0
CVXOPT=cvxopt-1.1.7
CYTHON=cython-0.21.1
DATEUTIL=dateutil-2.2
DOCUTILS=docutils-0.7.p0
ECL=ecl-13.5.1.p0
ECLIB=eclib-20140921
ECM=ecm-6.4.4
ELLIPTIC_CURVES=elliptic_curves-0.7
FFLASFFPACK=fflas_ffpack-1.6.0.p1
FLINT=flint-2.4.4
FLINTQS=flintqs-20070817.p8
FPLLL=libfplll-4.0.4
FREETYPE=freetype-2.5.2.p1
GAP=gap-4.7.5
GCC=gcc-4.9.2
GD=gd-2.0.35.p7
GDMODULE=gdmodule-0.56.p8
GFAN=gfan-0.5.p0
GF2X=gf2x-1.1.p1
GIT=git-2.1.2
GIVARO=givaro-3.7.1
GLPK=glpk-4.44.p0
GRAPHS=graphs-20120404.p4
GSL=gsl-1.15.p1
ICONV=iconv-1.14
IML=iml-1.0.4
IPYTHON=ipython-2.3.0
JINJA2=jinja2-2.5.5
JMOL=jmol-14.2.4_2014.08.03
LCALC=lcalc-1.23.p13
LRCALC=lrcalc-1.1.7
LIBGAP=libgap-4.7.5.1
LIBPNG=libpng-1.2.51.p0
LINBOX=linbox-1.3.2.p1
M4RI=m4ri-20140914
M4RIE=m4rie-20140914
MATPLOTLIB=matplotlib-1.3.1
MAXIMA=maxima-5.34.1.p1
MPC=mpc-1.0.2.p0
MPFI=mpfi-1.5.1
MPFR=mpfr-3.1.2.p0
MPIR=mpir-2.6.0.p4
MPMATH=mpmath-0.18
NETWORKX=networkx-1.8.1
NTL=ntl-6.1.0.p0
NUMPY=numpy-1.8.1
PALP=palp-2.1.p1
PARI=pari-2.7.1.p1
PARI_GALDATA=pari_galdata-20080411
PARI_SEADATA_SMALL=pari_seadata_small-20090618
PATCH=patch-2.7.1
PEXPECT=pexpect-2.0.p6
PILLOW=pillow-2.2.2
PKGCONF=pkgconf-0.9.7
PKGCONFIG=pkgconfig-1.1.0
POLYBORI=polybori-0.8.3
POLYTOPES_DB=polytopes_db-20120220
PPL=ppl-1.1
PYCRYPTO=pycrypto-2.6.1.p0
PYGMENTS=pygments-1.3.1.p0
PYNAC=pynac-0.3.2
PYPARSING=pyparsing-2.0.1
PYTHON=python-2.7.8
PYZMQ=pyzmq-14.3.0
R=r-3.1.1.p0
RPY=rpy2-2.3.8
RATPOINTS=ratpoints-2.1.3.p3
READLINE=readline-6.3.008
RUBIKS=rubiks-20070912.p18
SAGENB=sagenb-0.11.1
SAGETEX=sagetex-2.3.4
SCIPY=scipy-0.14.0
SCONS=scons-1.2.0
SETUPTOOLS=setuptools-3.6.p0
SINGULAR=singular-3.1.6.p4
SIX=six-1.4.1
SPHINX=sphinx-1.2.2
SQLALCHEMY=sqlalchemy-0.5.8
SQLITE=sqlite-3.8.4.3
SYMMETRICA=symmetrica-2.0.p9
SYMPOW=sympow-1.018.1.p11
SYMPY=sympy-0.7.4
TACHYON=tachyon-0.98.9.p5
TORNADO=tornado-3.1.1
NCURSES=ncurses-5.9.20131221
ZEROMQ=zeromq-4.0.4
ZLIB=zlib-1.2.8.p0
ZNPOLY=zn_poly-0.9.p11
# Directory to keep track of which packages are installed
INST=<MY_HOME>/sage/local/var/lib/sage/installed
TOOLCHAIN =
SCRIPT_SOURCES = \
$(SAGE_SRC)/bin/sage \
$(SAGE_SRC)/bin/sage-CSI \
$(SAGE_SRC)/bin/sage-CSI-helper.py \
$(SAGE_SRC)/bin/sage-README-osx.txt \
$(SAGE_SRC)/bin/sage-arch-env \
$(SAGE_SRC)/bin/sage-banner \
$(SAGE_SRC)/bin/sage-bdist \
$(SAGE_SRC)/bin/sage-build \
$(SAGE_SRC)/bin/sage-cachegrind \
$(SAGE_SRC)/bin/sage-callgrind \
$(SAGE_SRC)/bin/sage-cleaner \
$(SAGE_SRC)/bin/sage-clone-source \
$(SAGE_SRC)/bin/sage-coverage \
$(SAGE_SRC)/bin/sage-coverageall \
$(SAGE_SRC)/bin/sage-crap \
$(SAGE_SRC)/bin/sage-cython \
$(SAGE_SRC)/bin/sage-dev \
$(SAGE_SRC)/bin/sage-download-file \
$(SAGE_SRC)/bin/sage-download-upstream \
$(SAGE_SRC)/bin/sage-env \
$(SAGE_SRC)/bin/sage-eval \
$(SAGE_SRC)/bin/sage-fix-pkg-checksums \
$(SAGE_SRC)/bin/sage-fixdoctests \
$(SAGE_SRC)/bin/sage-gdb-commands \
$(SAGE_SRC)/bin/sage-grep \
$(SAGE_SRC)/bin/sage-grepdoc \
$(SAGE_SRC)/bin/sage-inline-fortran \
$(SAGE_SRC)/bin/sage-ipython \
$(SAGE_SRC)/bin/sage-list-experimental \
$(SAGE_SRC)/bin/sage-list-optional \
$(SAGE_SRC)/bin/sage-list-packages \
$(SAGE_SRC)/bin/sage-list-standard \
$(SAGE_SRC)/bin/sage-location \
$(SAGE_SRC)/bin/sage-massif \
$(SAGE_SRC)/bin/sage-maxima.lisp \
$(SAGE_SRC)/bin/sage-native-execute \
$(SAGE_SRC)/bin/sage-notebook \
$(SAGE_SRC)/bin/sage-num-threads.py \
$(SAGE_SRC)/bin/sage-omega \
$(SAGE_SRC)/bin/sage-open \
$(SAGE_SRC)/bin/sage-pkg \
$(SAGE_SRC)/bin/sage-preparse \
$(SAGE_SRC)/bin/sage-pypkg-location \
$(SAGE_SRC)/bin/sage-python \
$(SAGE_SRC)/bin/sage-rebase.bat \
$(SAGE_SRC)/bin/sage-rebase.sh \
$(SAGE_SRC)/bin/sage-rebaseall.bat \
$(SAGE_SRC)/bin/sage-rebaseall.sh \
$(SAGE_SRC)/bin/sage-rst2sws \
$(SAGE_SRC)/bin/sage-rst2txt \
$(SAGE_SRC)/bin/sage-rsyncdist \
$(SAGE_SRC)/bin/sage-run \
$(SAGE_SRC)/bin/sage-run-cython \
$(SAGE_SRC)/bin/sage-runtests \
$(SAGE_SRC)/bin/sage-sdist \
$(SAGE_SRC)/bin/sage-spkg \
$(SAGE_SRC)/bin/sage-starts \
$(SAGE_SRC)/bin/sage-startuptime.py \
$(SAGE_SRC)/bin/sage-sws2rst \
$(SAGE_SRC)/bin/sage-test-import \
$(SAGE_SRC)/bin/sage-update-src \
$(SAGE_SRC)/bin/sage-update-version \
$(SAGE_SRC)/bin/sage-upgrade \
$(SAGE_SRC)/bin/sage-valgrind \
$(SAGE_SRC)/bin/sage-version.sh \
$(SAGE_SRC)/bin/testcc.sh \
$(SAGE_SRC)/bin/testcflags.sh \
$(SAGE_SRC)/bin/testcxx.sh \
SCRIPTS = \
$(SAGE_LOCAL)/bin/sage \
$(SAGE_LOCAL)/bin/sage-CSI \
$(SAGE_LOCAL)/bin/sage-CSI-helper.py \
$(SAGE_LOCAL)/bin/sage-README-osx.txt \
$(SAGE_LOCAL)/bin/sage-arch-env \
$(SAGE_LOCAL)/bin/sage-banner \
$(SAGE_LOCAL)/bin/sage-bdist \
$(SAGE_LOCAL)/bin/sage-build \
$(SAGE_LOCAL)/bin/sage-cachegrind \
$(SAGE_LOCAL)/bin/sage-callgrind \
$(SAGE_LOCAL)/bin/sage-cleaner \
$(SAGE_LOCAL)/bin/sage-clone-source \
$(SAGE_LOCAL)/bin/sage-coverage \
$(SAGE_LOCAL)/bin/sage-coverageall \
$(SAGE_LOCAL)/bin/sage-crap \
$(SAGE_LOCAL)/bin/sage-cython \
$(SAGE_LOCAL)/bin/sage-dev \
$(SAGE_LOCAL)/bin/sage-download-file \
$(SAGE_LOCAL)/bin/sage-download-upstream \
$(SAGE_LOCAL)/bin/sage-env \
$(SAGE_LOCAL)/bin/sage-eval \
$(SAGE_LOCAL)/bin/sage-fix-pkg-checksums \
$(SAGE_LOCAL)/bin/sage-fixdoctests \
$(SAGE_LOCAL)/bin/sage-gdb-commands \
$(SAGE_LOCAL)/bin/sage-grep \
$(SAGE_LOCAL)/bin/sage-grepdoc \
$(SAGE_LOCAL)/bin/sage-inline-fortran \
$(SAGE_LOCAL)/bin/sage-ipython \
$(SAGE_LOCAL)/bin/sage-list-experimental \
$(SAGE_LOCAL)/bin/sage-list-optional \
$(SAGE_LOCAL)/bin/sage-list-packages \
$(SAGE_LOCAL)/bin/sage-list-standard \
$(SAGE_LOCAL)/bin/sage-location \
$(SAGE_LOCAL)/bin/sage-massif \
$(SAGE_LOCAL)/bin/sage-maxima.lisp \
$(SAGE_LOCAL)/bin/sage-native-execute \
$(SAGE_LOCAL)/bin/sage-notebook \
$(SAGE_LOCAL)/bin/sage-num-threads.py \
$(SAGE_LOCAL)/bin/sage-omega \
$(SAGE_LOCAL)/bin/sage-open \
$(SAGE_LOCAL)/bin/sage-pkg \
$(SAGE_LOCAL)/bin/sage-preparse \
$(SAGE_LOCAL)/bin/sage-pypkg-location \
$(SAGE_LOCAL)/bin/sage-python \
$(SAGE_LOCAL)/bin/sage-rebase.bat \
$(SAGE_LOCAL)/bin/sage-rebase.sh \
$(SAGE_LOCAL)/bin/sage-rebaseall.bat \
$(SAGE_LOCAL)/bin/sage-rebaseall.sh \
$(SAGE_LOCAL)/bin/sage-rst2sws \
$(SAGE_LOCAL)/bin/sage-rst2txt \
$(SAGE_LOCAL)/bin/sage-rsyncdist \
$(SAGE_LOCAL)/bin/sage-run \
$(SAGE_LOCAL)/bin/sage-run-cython \
$(SAGE_LOCAL)/bin/sage-runtests \
$(SAGE_LOCAL)/bin/sage-sdist \
$(SAGE_LOCAL)/bin/sage-spkg \
$(SAGE_LOCAL)/bin/sage-starts \
$(SAGE_LOCAL)/bin/sage-startuptime.py \
$(SAGE_LOCAL)/bin/sage-sws2rst \
$(SAGE_LOCAL)/bin/sage-test-import \
$(SAGE_LOCAL)/bin/sage-update-src \
$(SAGE_LOCAL)/bin/sage-update-version \
$(SAGE_LOCAL)/bin/sage-upgrade \
$(SAGE_LOCAL)/bin/sage-valgrind \
$(SAGE_LOCAL)/bin/sage-version.sh \
$(SAGE_LOCAL)/bin/testcc.sh \
$(SAGE_LOCAL)/bin/testcflags.sh \
$(SAGE_LOCAL)/bin/testcxx.sh \
EXTCODE_SOURCES = \
$(SAGE_SRC)/ext/gap/console.g \
$(SAGE_SRC)/ext/gap/joyner/hurwitz_crv_rr_sp.gap \
$(SAGE_SRC)/ext/gap/joyner/modular_crv_rr_sp.gap \
$(SAGE_SRC)/ext/gap/sage.g \
$(SAGE_SRC)/ext/graphs/graph_plot_js.html \
$(SAGE_SRC)/ext/images/corner.png \
$(SAGE_SRC)/ext/images/evaluate.png \
$(SAGE_SRC)/ext/images/evaluate_over.png \
$(SAGE_SRC)/ext/images/favicon.ico \
$(SAGE_SRC)/ext/images/sagelogo.png \
$(SAGE_SRC)/ext/magma/latex/latex.m \
$(SAGE_SRC)/ext/magma/latex/latex.spec \
$(SAGE_SRC)/ext/magma/sage/basic.m \
$(SAGE_SRC)/ext/magma/sage/sage.spec \
$(SAGE_SRC)/ext/magma/spec \
$(SAGE_SRC)/ext/maxima/willis/topoly.lisp \
$(SAGE_SRC)/ext/mwrank/PRIMES \
$(SAGE_SRC)/ext/notebook-ipython/static/sage-logo.png \
$(SAGE_SRC)/ext/notebook-ipython/templates/404.html \
$(SAGE_SRC)/ext/notebook-ipython/templates/error.html \
$(SAGE_SRC)/ext/notebook-ipython/templates/login.html \
$(SAGE_SRC)/ext/notebook-ipython/templates/logout.html \
$(SAGE_SRC)/ext/notebook-ipython/templates/notebook.html \
$(SAGE_SRC)/ext/notebook-ipython/templates/page.html \
$(SAGE_SRC)/ext/notebook-ipython/templates/tree.html \
$(SAGE_SRC)/ext/pari/buzzard/DimensionSk.g \
$(SAGE_SRC)/ext/pari/buzzard/Tpprog.g \
$(SAGE_SRC)/ext/pari/buzzard/genusn.g \
$(SAGE_SRC)/ext/pari/dokchitser/computel.gp \
$(SAGE_SRC)/ext/pari/dokchitser/ex-bsw \
$(SAGE_SRC)/ext/pari/dokchitser/ex-chgen \
$(SAGE_SRC)/ext/pari/dokchitser/ex-chqua \
$(SAGE_SRC)/ext/pari/dokchitser/ex-delta \
$(SAGE_SRC)/ext/pari/dokchitser/ex-eisen \
$(SAGE_SRC)/ext/pari/dokchitser/ex-gen2 \
$(SAGE_SRC)/ext/pari/dokchitser/ex-gen3 \
$(SAGE_SRC)/ext/pari/dokchitser/ex-gen4 \
$(SAGE_SRC)/ext/pari/dokchitser/ex-nf \
$(SAGE_SRC)/ext/pari/dokchitser/ex-shin \
$(SAGE_SRC)/ext/pari/dokchitser/ex-zeta \
$(SAGE_SRC)/ext/pari/dokchitser/ex-zeta2 \
$(SAGE_SRC)/ext/pari/dokchitser/testall \
$(SAGE_SRC)/ext/pari/simon/ell.gp \
$(SAGE_SRC)/ext/pari/simon/ellQ.gp \
$(SAGE_SRC)/ext/pari/simon/ellcommon.gp \
$(SAGE_SRC)/ext/pari/simon/qfsolve.gp \
$(SAGE_SRC)/ext/pari/simon/resultant3.gp \
$(SAGE_SRC)/ext/pickle_jar/pickle_jar.tar.bz2 \
$(SAGE_SRC)/ext/valgrind/pyalloc.supp \
$(SAGE_SRC)/ext/valgrind/sage-additional.supp \
$(SAGE_SRC)/ext/valgrind/sage.supp \
EXTCODE = \
$(SAGE_EXTCODE)/gap/console.g \
$(SAGE_EXTCODE)/gap/joyner/hurwitz_crv_rr_sp.gap \
$(SAGE_EXTCODE)/gap/joyner/modular_crv_rr_sp.gap \
$(SAGE_EXTCODE)/gap/sage.g \
$(SAGE_EXTCODE)/graphs/graph_plot_js.html \
$(SAGE_EXTCODE)/images/corner.png \
$(SAGE_EXTCODE)/images/evaluate.png \
$(SAGE_EXTCODE)/images/evaluate_over.png \
$(SAGE_EXTCODE)/images/favicon.ico \
$(SAGE_EXTCODE)/images/sagelogo.png \
$(SAGE_EXTCODE)/magma/latex/latex.m \
$(SAGE_EXTCODE)/magma/latex/latex.spec \
$(SAGE_EXTCODE)/magma/sage/basic.m \
$(SAGE_EXTCODE)/magma/sage/sage.spec \
$(SAGE_EXTCODE)/magma/spec \
$(SAGE_EXTCODE)/maxima/willis/topoly.lisp \
$(SAGE_EXTCODE)/mwrank/PRIMES \
$(SAGE_EXTCODE)/notebook-ipython/static/sage-logo.png \
$(SAGE_EXTCODE)/notebook-ipython/templates/404.html \
$(SAGE_EXTCODE)/notebook-ipython/templates/error.html \
$(SAGE_EXTCODE)/notebook-ipython/templates/login.html \
$(SAGE_EXTCODE)/notebook-ipython/templates/logout.html \
$(SAGE_EXTCODE)/notebook-ipython/templates/notebook.html \
$(SAGE_EXTCODE)/notebook-ipython/templates/page.html \
$(SAGE_EXTCODE)/notebook-ipython/templates/tree.html \
$(SAGE_EXTCODE)/pari/buzzard/DimensionSk.g \
$(SAGE_EXTCODE)/pari/buzzard/Tpprog.g \
$(SAGE_EXTCODE)/pari/buzzard/genusn.g \
$(SAGE_EXTCODE)/pari/dokchitser/computel.gp \
$(SAGE_EXTCODE)/pari/dokchitser/ex-bsw \
$(SAGE_EXTCODE)/pari/dokchitser/ex-chgen \
$(SAGE_EXTCODE)/pari/dokchitser/ex-chqua \
$(SAGE_EXTCODE)/pari/dokchitser/ex-delta \
$(SAGE_EXTCODE)/pari/dokchitser/ex-eisen \
$(SAGE_EXTCODE)/pari/dokchitser/ex-gen2 \
$(SAGE_EXTCODE)/pari/dokchitser/ex-gen3 \
$(SAGE_EXTCODE)/pari/dokchitser/ex-gen4 \
$(SAGE_EXTCODE)/pari/dokchitser/ex-nf \
$(SAGE_EXTCODE)/pari/dokchitser/ex-shin \
$(SAGE_EXTCODE)/pari/dokchitser/ex-zeta \
$(SAGE_EXTCODE)/pari/dokchitser/ex-zeta2 \
$(SAGE_EXTCODE)/pari/dokchitser/testall \
$(SAGE_EXTCODE)/pari/simon/ell.gp \
$(SAGE_EXTCODE)/pari/simon/ellQ.gp \
$(SAGE_EXTCODE)/pari/simon/ellcommon.gp \
$(SAGE_EXTCODE)/pari/simon/qfsolve.gp \
$(SAGE_EXTCODE)/pari/simon/resultant3.gp \
$(SAGE_EXTCODE)/pickle_jar/pickle_jar.tar.bz2 \
$(SAGE_EXTCODE)/valgrind/pyalloc.supp \
$(SAGE_EXTCODE)/valgrind/sage-additional.supp \
$(SAGE_EXTCODE)/valgrind/sage.supp \
# don't just use `install` since we don't want to change permissions
$(SAGE_LOCAL)/bin/%: $(SAGE_SRC)/bin/%
cp $< $@
# don't just use `install -D` since we don't want to change permissions
# cp won't correctly setup the SAGE_EXTCODE directory structure (unlike
install)
# so we need a mkdir here to cp can copy into an existing folder
$(SAGE_EXTCODE)/%: $(SAGE_SRC)/ext/%
@mkdir -p "$(@D)"
cp $< $@
#==============================================================================
# What follows now is a copy of
# <MY_HOME>/sage/build/deps
#==============================================================================
###############################################################################
# This file ($SAGE_ROOT/build/deps) will be copied into
# $SAGE_ROOT/build/Makefile by $SAGE_ROOT/build/install
###############################################################################
# Do not put an explicit path for sage-spkg here, it will be found in $PATH.
SAGE_SPKG = sage-spkg -f
PIPE = $(SAGE_ROOT)/build/pipestatus
# Tell make not to look for files with these names:
.PHONY: all all-sage base toolchain toolchain-deps
# Make the 4 build phases: base, toolchain, toolchain-deps, all-sage
# During the toolchain build, we export SAGE_BUILD_TOOLCHAIN=yes
# such that packages can do different things when they are built
# as prerequisite of GCC.
all:
$(MAKE) base
env SAGE_BUILD_TOOLCHAIN=yes $(MAKE) toolchain
$(MAKE) toolchain-deps
$(MAKE) all-sage
# All targets except for the base packages
all-sage: \
$(INST)/$(ATLAS) \
$(INST)/$(BOEHM_GC) \
$(INST)/$(BOOST_CROPPED) \
$(INST)/$(CDDLIB) \
$(INST)/$(CEPHES) \
$(INST)/$(CLIQUER) \
$(INST)/$(COMBINATORIAL_DESIGNS) \
$(INST)/$(CONWAY) \
$(INST)/$(CVXOPT) \
$(INST)/$(CYTHON) \
$(INST)/$(DATEUTIL) \
$(INST)/$(DOCUTILS) \
$(INST)/$(ECL) \
$(INST)/$(ECLIB) \
$(INST)/$(ECM) \
$(INST)/$(ELLIPTIC_CURVES) \
$(INST)/$(FFLASFFPACK) \
$(INST)/$(FLINT) \
$(INST)/$(FLINTQS) \
$(INST)/$(FPLLL) \
$(INST)/$(FREETYPE) \
$(INST)/$(GAP) \
$(INST)/$(GD) \
$(INST)/$(GDMODULE) \
$(INST)/$(GFAN) \
$(INST)/$(GF2X) \
$(INST)/$(GIVARO) \
$(INST)/$(GIT) \
$(INST)/$(GLPK) \
$(INST)/$(GRAPHS) \
$(INST)/$(GSL) \
$(INST)/$(ICONV) \
$(INST)/$(IML) \
$(INST)/$(IPYTHON) \
$(INST)/$(JINJA2) \
$(INST)/$(JMOL) \
$(INST)/$(LCALC) \
$(INST)/$(LRCALC) \
$(INST)/$(LIBGAP) \
$(INST)/$(LIBPNG) \
$(INST)/$(LINBOX) \
$(INST)/$(M4RI) \
$(INST)/$(M4RIE) \
$(INST)/$(MATPLOTLIB) \
$(INST)/$(MAXIMA) \
$(INST)/$(MPC) \
$(INST)/$(MPFI) \
$(INST)/$(MPFR) \
$(INST)/$(MPIR) \
$(INST)/$(MPMATH) \
$(INST)/$(NETWORKX) \
$(INST)/$(NTL) \
$(INST)/$(NUMPY) \
$(INST)/$(PALP) \
$(INST)/$(PARI) \
$(INST)/$(PEXPECT) \
$(INST)/$(PILLOW) \
$(INST)/$(PKGCONF) \
$(INST)/$(PKGCONFIG) \
$(INST)/$(POLYBORI) \
$(INST)/$(POLYTOPES_DB) \
$(INST)/$(PPL) \
$(INST)/$(PYCRYPTO) \
$(INST)/$(PYGMENTS) \
$(INST)/$(PYNAC) \
$(INST)/$(PYPARSING) \
$(INST)/$(PYTHON) \
$(INST)/$(PYZMQ) \
$(INST)/$(RATPOINTS) \
$(INST)/$(R) \
$(INST)/$(RPY) \
$(INST)/$(READLINE) \
$(INST)/$(RUBIKS) \
$(INST)/$(SAGENB) \
$(INST)/$(SAGETEX) \
$(INST)/$(SCIPY) \
$(INST)/$(SCONS) \
$(INST)/$(SETUPTOOLS) \
$(INST)/$(SINGULAR) \
$(INST)/$(SIX) \
$(INST)/$(SPHINX) \
$(INST)/$(SQLALCHEMY) \
$(INST)/$(SQLITE) \
$(INST)/$(SYMMETRICA) \
$(INST)/$(SYMPOW) \
$(INST)/$(SYMPY) \
$(INST)/$(TACHYON) \
$(INST)/$(TORNADO) \
$(INST)/$(NCURSES) \
$(INST)/$(ZEROMQ) \
$(INST)/$(ZLIB) \
$(INST)/$(ZNPOLY) \
$(INST)/sage \
$(INST)/csage \
$(EXTCODE) \
$(SCRIPTS)
# TOOLCHAIN consists of dependencies determined by build/install,
# including for example the GCC package.
toolchain: $(TOOLCHAIN)
# Build all packages that GCC links against serially, otherwise this
# leads to race conditions where some library which is used by GCC gets
# reinstalled. Since system GCCs might use Sage's libraries, we do this
# unconditionally. We still use the dependency checking from $(MAKE),
# so this will not trigger useless rebuilds.
# See #14168 and #14232.
toolchain-deps:
$(MAKE) $(INST)/$(ZLIB)
$(MAKE) $(INST)/$(MPIR)
$(MAKE) $(INST)/$(MPFR)
$(MAKE) $(INST)/$(MPC)
$(MAKE) $(INST)/$(PPL)
# Everything needed to start up Sage using "./sage". Of course, not
# every part of Sage will work. It does not include Maxima for example.
SAGERUNTIME = $(SCRIPTS) $(INST)/sage $(INST)/$(SAGENB) $(INST)/$(IPYTHON)
###############################################################################
# Building the base system
#
# This consists of packages which are required for the Sage build system
# but not for Sage itself. Since nothing explicitly depends on these,
# an update of these packages will not trigger a rebuild of every other
# package during an upgrade, see #13415.
###############################################################################
base: $(INST)/prereq $(INST)/$(BZIP2) $(INST)/$(PATCH)
$(INST)/prereq: ../configure
@cd ..; rm -f config.log; ln -s logs/pkgs/config.log config.log; \
./configure $$PREREQ_OPTIONS || ( \
if [ "x$$SAGE_PORT" = x ]; then \
echo "If you would like to try to build Sage anyway (to help
porting),"; \
echo "export the variable 'SAGE_PORT' to something non-empty."; \
exit 1; \
else \
echo "Since 'SAGE_PORT' is set, we will try to build anyway."; \
fi; )
touch $@
$(INST)/$(PATCH):
+$(PIPE) "$(SAGE_SPKG) $(PATCH) 2>&1" "tee -a $(SAGE_LOGS)/$(PATCH).log"
$(INST)/$(PKGCONF): $(INST)/$(PATCH)
+$(PIPE) "$(SAGE_SPKG) $(PKGCONF) 2>&1" "tee -a $(SAGE_LOGS)/$(PKGCONF).log"
$(INST)/$(BZIP2): $(INST)/prereq $(INST)/$(PKGCONF)
+$(PIPE) "$(SAGE_SPKG) $(BZIP2) 2>&1" "tee -a $(SAGE_LOGS)/$(BZIP2).log"
###############################################################################
# Building normal packages
###############################################################################
$(INST)/$(ATLAS): $(INST)/$(PYTHON)
+$(PIPE) "$(SAGE_SPKG) $(ATLAS) 2>&1" "tee -a $(SAGE_LOGS)/$(ATLAS).log"
$(INST)/$(BOEHM_GC): $(INST)/$(PKGCONF)
+$(PIPE) "$(SAGE_SPKG) $(BOEHM_GC) 2>&1" "tee -a
$(SAGE_LOGS)/$(BOEHM_GC).log"
$(INST)/$(BOOST_CROPPED):
+$(PIPE) "$(SAGE_SPKG) $(BOOST_CROPPED) 2>&1" "tee -a
$(SAGE_LOGS)/$(BOOST_CROPPED).log"
$(INST)/$(CLIQUER):
+$(PIPE) "$(SAGE_SPKG) $(CLIQUER) 2>&1" "tee -a $(SAGE_LOGS)/$(CLIQUER).log"
$(INST)/$(COMBINATORIAL_DESIGNS):
+$(PIPE) "$(SAGE_SPKG) $(COMBINATORIAL_DESIGNS) 2>&1" "tee -a
$(SAGE_LOGS)/$(COMBINATORIAL_DESIGNS).log"
$(INST)/$(NCURSES): $(INST)/$(PKGCONF)
+$(PIPE) "$(SAGE_SPKG) $(NCURSES) 2>&1" "tee -a $(SAGE_LOGS)/$(NCURSES).log"
$(INST)/$(READLINE): $(INST)/$(NCURSES)
+$(PIPE) "$(SAGE_SPKG) $(READLINE) 2>&1" "tee -a
$(SAGE_LOGS)/$(READLINE).log"
$(INST)/$(ICONV):
+$(PIPE) "$(SAGE_SPKG) $(ICONV) 2>&1" "tee -a $(SAGE_LOGS)/$(ICONV).log"
$(INST)/$(DOCUTILS): $(INST)/$(PYTHON)
+$(PIPE) "$(SAGE_SPKG) $(DOCUTILS) 2>&1" "tee -a
$(SAGE_LOGS)/$(DOCUTILS).log"
$(INST)/$(ELLIPTIC_CURVES): $(INST)/$(PYTHON) $(INST)/$(SQLITE)
+$(PIPE) "$(SAGE_SPKG) $(ELLIPTIC_CURVES) 2>&1" "tee -a
$(SAGE_LOGS)/$(ELLIPTIC_CURVES).log"
# CONWAY depends on depends on SAGERUNTIME because it runs Sage code to
# generate a Sage object (.sobj).
$(INST)/$(CONWAY): $(SAGERUNTIME)
+$(PIPE) "$(SAGE_SPKG) $(CONWAY) 2>&1" "tee -a $(SAGE_LOGS)/$(CONWAY).log"
$(INST)/$(GRAPHS):
+$(PIPE) "$(SAGE_SPKG) $(GRAPHS) 2>&1" "tee -a $(SAGE_LOGS)/$(GRAPHS).log"
$(INST)/$(GLPK): $(INST)/$(MPIR) $(INST)/$(ZLIB)
+$(PIPE) "$(SAGE_SPKG) $(GLPK) 2>&1" "tee -a $(SAGE_LOGS)/$(GLPK).log"
$(INST)/$(PYTHON): $(INST)/$(ZLIB) $(INST)/$(BZIP2) $(INST)/$(PKGCONF) \
$(INST)/$(READLINE) $(INST)/$(SQLITE) $(INST)/$(LIBPNG)
+$(PIPE) "$(SAGE_SPKG) $(PYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(PYTHON).log"
$(INST)/$(MPIR): $(INST)/$(ICONV)
+$(PIPE) "$(SAGE_SPKG) $(MPIR) 2>&1" "tee -a $(SAGE_LOGS)/$(MPIR).log"
$(INST)/$(GSL): $(INST)/$(ATLAS)
+$(PIPE) "$(SAGE_SPKG) $(GSL) 2>&1" "tee -a $(SAGE_LOGS)/$(GSL).log"
$(INST)/$(GF2X):
+$(PIPE) "$(SAGE_SPKG) $(GF2X) 2>&1" "tee -a $(SAGE_LOGS)/$(GF2X).log"
$(INST)/$(NTL): $(INST)/$(MPIR) $(INST)/$(GF2X)
+$(PIPE) "$(SAGE_SPKG) $(NTL) 2>&1" "tee -a $(SAGE_LOGS)/$(NTL).log"
$(INST)/$(FPLLL): $(INST)/$(MPIR) $(INST)/$(MPFR)
+$(PIPE) "$(SAGE_SPKG) $(FPLLL) 2>&1" "tee -a $(SAGE_LOGS)/$(FPLLL).log"
$(INST)/$(PARI): $(INST)/$(READLINE) $(INST)/$(MPIR) \
$(INST)/$(PARI_GALDATA) $(INST)/$(PARI_SEADATA_SMALL)
+$(PIPE) "$(SAGE_SPKG) $(PARI) 2>&1" "tee -a $(SAGE_LOGS)/$(PARI).log"
$(INST)/$(PARI_GALDATA):
+$(PIPE) "$(SAGE_SPKG) $(PARI_GALDATA) 2>&1" "tee -a
$(SAGE_LOGS)/$(PARI_GALDATA).log"
$(INST)/$(PARI_SEADATA_SMALL):
+$(PIPE) "$(SAGE_SPKG) $(PARI_SEADATA_SMALL) 2>&1" "tee -a
$(SAGE_LOGS)/$(PARI_SEADATA_SMALL).log"
$(INST)/$(POLYBORI): $(INST)/$(PYTHON) $(INST)/$(IPYTHON) \
$(INST)/$(SCONS) $(INST)/$(BOOST_CROPPED) \
$(INST)/$(M4RI) $(INST)/$(GD)
+$(PIPE) "$(SAGE_SPKG) $(POLYBORI) 2>&1" "tee -a
$(SAGE_LOGS)/$(POLYBORI).log"
$(INST)/$(POLYTOPES_DB):
+$(PIPE) "$(SAGE_SPKG) $(POLYTOPES_DB) 2>&1" "tee -a
$(SAGE_LOGS)/$(POLYTOPES_DB).log"
$(INST)/$(PPL): $(INST)/$(MPIR) $(INST)/$(GLPK)
+$(PIPE) "$(SAGE_SPKG) $(PPL) 2>&1" "tee -a $(SAGE_LOGS)/$(PPL).log"
$(INST)/$(MPC): $(INST)/$(MPIR) $(INST)/$(MPFR)
+$(PIPE) "$(SAGE_SPKG) $(MPC) 2>&1" "tee -a $(SAGE_LOGS)/$(MPC).log"
$(INST)/$(MPFR): $(INST)/$(MPIR)
+$(PIPE) "$(SAGE_SPKG) $(MPFR) 2>&1" "tee -a $(SAGE_LOGS)/$(MPFR).log"
$(INST)/$(MPFI): $(INST)/$(MPIR) $(INST)/$(MPFR)
+$(PIPE) "$(SAGE_SPKG) $(MPFI) 2>&1" "tee -a $(SAGE_LOGS)/$(MPFI).log"
$(INST)/$(GIVARO): $(INST)/$(MPIR)
+$(PIPE) "$(SAGE_SPKG) $(GIVARO) 2>&1" "tee -a $(SAGE_LOGS)/$(GIVARO).log"
$(INST)/$(GIT): $(INST)/$(ZLIB) $(INST)/$(PYTHON)
+$(PIPE) "$(SAGE_SPKG) $(GIT) 2>&1" "tee -a $(SAGE_LOGS)/$(GIT).log"
$(INST)/$(FFLASFFPACK): $(INST)/$(MPIR) $(INST)/$(GIVARO) \
$(INST)/$(GSL) $(INST)/$(ATLAS)
+$(PIPE) "$(SAGE_SPKG) $(FFLASFFPACK) 2>&1" "tee -a
$(SAGE_LOGS)/$(FFLASFFPACK).log"
$(INST)/$(LINBOX): $(INST)/$(MPIR) $(INST)/$(NTL) $(INST)/$(GIVARO) \
$(INST)/$(MPFR) $(INST)/$(FPLLL) $(INST)/$(IML) \
$(INST)/$(M4RI) $(INST)/$(M4RIE) $(INST)/$(FFLASFFPACK)
+$(PIPE) "$(SAGE_SPKG) $(LINBOX) 2>&1" "tee -a $(SAGE_LOGS)/$(LINBOX).log"
$(INST)/$(IML): $(INST)/$(MPIR) $(INST)/$(GSL) $(INST)/$(ATLAS)
+$(PIPE) "$(SAGE_SPKG) $(IML) 2>&1" "tee -a $(SAGE_LOGS)/$(IML).log"
$(INST)/$(PALP):
+$(PIPE) "$(SAGE_SPKG) $(PALP) 2>&1" "tee -a $(SAGE_LOGS)/$(PALP).log"
$(INST)/$(LCALC): $(INST)/$(PARI) $(INST)/$(MPFR)
+$(PIPE) "$(SAGE_SPKG) $(LCALC) 2>&1" "tee -a $(SAGE_LOGS)/$(LCALC).log"
$(INST)/$(LRCALC):
+$(PIPE) "$(SAGE_SPKG) $(LRCALC) 2>&1" "tee -a $(SAGE_LOGS)/$(LRCALC).log"
$(INST)/$(PYNAC): $(INST)/$(PYTHON)
+$(PIPE) "$(SAGE_SPKG) $(PYNAC) 2>&1" "tee -a $(SAGE_LOGS)/$(PYNAC).log"
$(INST)/$(SYMPOW):
+$(PIPE) "$(SAGE_SPKG) $(SYMPOW) 2>&1" "tee -a $(SAGE_LOGS)/$(SYMPOW).log"
$(INST)/$(SYMMETRICA):
+$(PIPE) "$(SAGE_SPKG) $(SYMMETRICA) 2>&1" "tee -a
$(SAGE_LOGS)/$(SYMMETRICA).log"
$(INST)/$(GAP): $(INST)/$(NCURSES) $(INST)/$(READLINE) $(INST)/$(MPIR)
+$(PIPE) "$(SAGE_SPKG) $(GAP) 2>&1" "tee -a $(SAGE_LOGS)/$(GAP).log"
$(INST)/$(LIBGAP): $(INST)/$(GAP)
+$(PIPE) "$(SAGE_SPKG) $(LIBGAP) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBGAP).log"
$(INST)/$(IPYTHON): $(INST)/$(PYTHON) $(INST)/$(JINJA2) $(INST)/$(TORNADO)
$(INST)/$(PYZMQ)
+$(PIPE) "$(SAGE_SPKG) $(IPYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(IPYTHON).log"
$(INST)/$(PEXPECT): $(INST)/$(PYTHON)
+$(PIPE) "$(SAGE_SPKG) $(PEXPECT) 2>&1" "tee -a $(SAGE_LOGS)/$(PEXPECT).log"
$(INST)/$(GD): $(INST)/$(LIBPNG) $(INST)/$(FREETYPE) $(INST)/$(ICONV)
+$(PIPE) "$(SAGE_SPKG) $(GD) 2>&1" "tee -a $(SAGE_LOGS)/$(GD).log"
$(INST)/$(GDMODULE): $(INST)/$(PYTHON) $(INST)/$(GD) $(INST)/$(ICONV)
+$(PIPE) "$(SAGE_SPKG) $(GDMODULE) 2>&1" "tee -a
$(SAGE_LOGS)/$(GDMODULE).log"
$(INST)/$(SCONS): $(INST)/$(PYTHON)
+$(PIPE) "$(SAGE_SPKG) $(SCONS) 2>&1" "tee -a $(SAGE_LOGS)/$(SCONS).log"
$(INST)/$(RUBIKS):
+$(PIPE) "$(SAGE_SPKG) $(RUBIKS) 2>&1" "tee -a $(SAGE_LOGS)/$(RUBIKS).log"
$(INST)/$(SQLITE): $(INST)/$(READLINE)
+$(PIPE) "$(SAGE_SPKG) $(SQLITE) 2>&1" "tee -a $(SAGE_LOGS)/$(SQLITE).log"
# To build SageTeX, you just need Python, but to test (SAGE_CHECK=yes)
# SageTeX, you actually need to run Sage, produce plots,...
$(INST)/$(SAGETEX): $(INST)/$(PYTHON) \
$(SAGERUNTIME) $(INST)/$(MAXIMA) $(INST)/$(SCIPY) \
$(INST)/$(MATPLOTLIB) $(INST)/$(PILLOW)
$(INST)/$(TACHYON)
+$(PIPE) "$(SAGE_SPKG) $(SAGETEX) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGETEX).log"
$(INST)/$(SETUPTOOLS): $(INST)/$(PYTHON)
+$(PIPE) "$(SAGE_SPKG) $(SETUPTOOLS) 2>&1" "tee -a
$(SAGE_LOGS)/$(SETUPTOOLS).log"
$(INST)/$(SINGULAR): $(INST)/$(MPIR) $(INST)/$(NTL) $(INST)/$(FLINT) \
$(INST)/$(READLINE) $(INST)/$(MPFR)
+$(PIPE) "$(SAGE_SPKG) $(SINGULAR) 2>&1" "tee -a
$(SAGE_LOGS)/$(SINGULAR).log"
$(INST)/$(PYCRYPTO): $(INST)/$(PYTHON)
+$(PIPE) "$(SAGE_SPKG) $(PYCRYPTO) 2>&1" "tee -a
$(SAGE_LOGS)/$(PYCRYPTO).log"
$(INST)/$(NETWORKX): $(INST)/$(PYTHON)
+$(PIPE) "$(SAGE_SPKG) $(NETWORKX) 2>&1" "tee -a
$(SAGE_LOGS)/$(NETWORKX).log"
$(INST)/$(MPMATH): $(INST)/$(PYTHON)
+$(PIPE) "$(SAGE_SPKG) $(MPMATH) 2>&1" "tee -a $(SAGE_LOGS)/$(MPMATH).log"
$(INST)/$(ZEROMQ):
+$(PIPE) "$(SAGE_SPKG) $(ZEROMQ) 2>&1" "tee -a $(SAGE_LOGS)/$(ZEROMQ).log"
$(INST)/$(ZLIB):
+$(PIPE) "$(SAGE_SPKG) $(ZLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(ZLIB).log"
$(INST)/$(JMOL): $(INST)/$(SAGENB)
+$(PIPE) "$(SAGE_SPKG) $(JMOL) 2>&1" "tee -a $(SAGE_LOGS)/$(JMOL).log"
$(INST)/$(FREETYPE): $(INST)/$(LIBPNG)
+$(PIPE) "$(SAGE_SPKG) $(FREETYPE) 2>&1" "tee -a
$(SAGE_LOGS)/$(FREETYPE).log"
$(INST)/$(LIBPNG): $(INST)/$(ZLIB)
+$(PIPE) "$(SAGE_SPKG) $(LIBPNG) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBPNG).log"
$(INST)/$(SIX): $(INST)/$(PYTHON)
+$(PIPE) "$(SAGE_SPKG) $(SIX) 2>&1" "tee -a $(SAGE_LOGS)/$(SIX).log"
$(INST)/$(DATEUTIL): $(INST)/$(PYTHON) $(INST)/$(SIX) $(INST)/$(SETUPTOOLS)
+$(PIPE) "$(SAGE_SPKG) $(DATEUTIL) 2>&1" "tee -a
$(SAGE_LOGS)/$(DATEUTIL).log"
$(INST)/$(PYPARSING): $(INST)/$(PYTHON)
+$(PIPE) "$(SAGE_SPKG) $(PYPARSING) 2>&1" "tee -a
$(SAGE_LOGS)/$(PYPARSING).log"
$(INST)/$(PYZMQ): $(INST)/$(PYTHON) $(INST)/$(ZEROMQ) $(INST)/$(SETUPTOOLS)
+$(PIPE) "$(SAGE_SPKG) $(PYZMQ) 2>&1" "tee -a $(SAGE_LOGS)/$(PYZMQ).log"
$(INST)/$(TORNADO): $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS)
+$(PIPE) "$(SAGE_SPKG) $(TORNADO) 2>&1" "tee -a $(SAGE_LOGS)/$(TORNADO).log"
$(INST)/$(MATPLOTLIB): $(INST)/$(PYTHON) $(INST)/$(NUMPY) \
$(INST)/$(FREETYPE) $(INST)/$(LIBPNG) \
$(INST)/$(GDMODULE) $(INST)/$(DATEUTIL) \
$(INST)/$(PKGCONF) $(INST)/$(PYPARSING) \
$(INST)/$(SETUPTOOLS) $(INST)/$(TORNADO) $(INST)/$(SIX)
+$(PIPE) "$(SAGE_SPKG) $(MATPLOTLIB) 2>&1" "tee -a
$(SAGE_LOGS)/$(MATPLOTLIB).log"
$(INST)/$(CDDLIB): $(INST)/$(MPIR)
+$(PIPE) "$(SAGE_SPKG) $(CDDLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(CDDLIB).log"
$(INST)/$(GFAN): $(INST)/$(MPIR) $(INST)/$(CDDLIB)
+$(PIPE) "$(SAGE_SPKG) $(GFAN) 2>&1" "tee -a $(SAGE_LOGS)/$(GFAN).log"
$(INST)/$(TACHYON): $(INST)/$(LIBPNG)
+$(PIPE) "$(SAGE_SPKG) $(TACHYON) 2>&1" "tee -a $(SAGE_LOGS)/$(TACHYON).log"
$(INST)/$(ECM): $(INST)/$(MPIR)
+$(PIPE) "$(SAGE_SPKG) $(ECM) 2>&1" "tee -a $(SAGE_LOGS)/$(ECM).log"
$(INST)/$(RATPOINTS): $(INST)/$(MPIR)
+$(PIPE) "$(SAGE_SPKG) $(RATPOINTS) 2>&1" "tee -a
$(SAGE_LOGS)/$(RATPOINTS).log"
$(INST)/$(ECL): $(INST)/$(MPIR) $(INST)/$(READLINE) $(INST)/$(BOEHM_GC)
+$(PIPE) "$(SAGE_SPKG) $(ECL) 2>&1" "tee -a $(SAGE_LOGS)/$(ECL).log"
$(INST)/$(MAXIMA): $(INST)/$(ECL)
+$(PIPE) "$(SAGE_SPKG) $(MAXIMA) 2>&1" "tee -a $(SAGE_LOGS)/$(MAXIMA).log"
$(INST)/$(R): $(INST)/$(ATLAS) $(INST)/$(ICONV) $(INST)/$(READLINE)
$(INST)/$(PKGCONF)
+$(PIPE) "$(SAGE_SPKG) $(R) 2>&1" "tee -a $(SAGE_LOGS)/$(R).log"
$(INST)/$(RPY): $(INST)/$(PYTHON) $(INST)/$(R)
+$(PIPE) "$(SAGE_SPKG) $(RPY) 2>&1" "tee -a $(SAGE_LOGS)/$(RPY).log"
$(INST)/$(SYMPY): $(INST)/$(PYTHON) $(INST)/$(MPMATH)
+$(PIPE) "$(SAGE_SPKG) $(SYMPY) 2>&1" "tee -a $(SAGE_LOGS)/$(SYMPY).log"
$(INST)/$(CYTHON): $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS)
+$(PIPE) "$(SAGE_SPKG) $(CYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(CYTHON).log"
$(INST)/$(FLINTQS): $(INST)/$(MPIR)
+$(PIPE) "$(SAGE_SPKG) $(FLINTQS) 2>&1" "tee -a $(SAGE_LOGS)/$(FLINTQS).log"
$(INST)/$(FLINT): $(INST)/$(MPIR) $(INST)/$(MPFR) $(INST)/$(NTL)
+$(PIPE) "$(SAGE_SPKG) $(FLINT) 2>&1" "tee -a $(SAGE_LOGS)/$(FLINT).log"
$(INST)/$(ECLIB): $(INST)/$(PARI) $(INST)/$(NTL) $(INST)/$(FLINT)
+$(PIPE) "$(SAGE_SPKG) $(ECLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(ECLIB).log"
$(INST)/$(M4RI): $(INST)/$(LIBPNG) $(INST)/$(PKGCONF)
+$(PIPE) "$(SAGE_SPKG) $(M4RI) 2>&1" "tee -a $(SAGE_LOGS)/$(M4RI).log"
$(INST)/$(M4RIE): $(INST)/$(M4RI) $(INST)/$(GIVARO) $(INST)/$(NTL)
+$(PIPE) "$(SAGE_SPKG) $(M4RIE) 2>&1" "tee -a $(SAGE_LOGS)/$(M4RIE).log"
# zn_poly really does depend on Python, despite this is far from obvious.
# The 'configure' script in zn_poly calls Python to make a 'makefile'.
$(INST)/$(ZNPOLY): $(INST)/$(MPIR) $(INST)/$(PYTHON)
+$(PIPE) "$(SAGE_SPKG) $(ZNPOLY) 2>&1" "tee -a $(SAGE_LOGS)/$(ZNPOLY).log"
$(INST)/$(SAGENB): $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS)
$(INST)/$(PEXPECT) \
$(INST)/$(JINJA2) $(INST)/$(SPHINX) $(INST)/$(DOCUTILS)
+$(PIPE) "$(SAGE_SPKG) $(SAGENB) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGENB).log"
$(INST)/$(SQLALCHEMY): $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS)
+$(PIPE) "$(SAGE_SPKG) $(SQLALCHEMY) 2>&1" "tee -a
$(SAGE_LOGS)/$(SQLALCHEMY).log"
$(INST)/$(SPHINX): $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS)
$(INST)/$(DOCUTILS) \
$(INST)/$(JINJA2) $(INST)/$(PYGMENTS)
+$(PIPE) "$(SAGE_SPKG) $(SPHINX) 2>&1" "tee -a $(SAGE_LOGS)/$(SPHINX).log"
$(INST)/$(JINJA2): $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS)
$(INST)/$(DOCUTILS)
+$(PIPE) "$(SAGE_SPKG) $(JINJA2) 2>&1" "tee -a $(SAGE_LOGS)/$(JINJA2).log"
$(INST)/$(PYGMENTS): $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS)
+$(PIPE) "$(SAGE_SPKG) $(PYGMENTS) 2>&1" "tee -a
$(SAGE_LOGS)/$(PYGMENTS).log"
# List all *build-time* dependencies of the Sage library. These are,
# on the one hand, programs needed for the build/install process of the
# Sage library (e.g. JINJA2), and on the
# other hand all dependencies for Cython files (e.g. PARI, NTL, MPIR).
$(INST)/sage: \
$(INST)/$(ATLAS) \
$(INST)/$(CEPHES) \
$(INST)/$(CLIQUER) \
$(INST)/$(CYTHON) \
$(INST)/$(ECL) \
$(INST)/$(ECLIB) \
$(INST)/$(ECM) \
$(INST)/$(FLINT) \
$(INST)/$(FPLLL) \
$(INST)/$(GD) \
$(INST)/$(GIVARO) \
$(INST)/$(GLPK) \
$(INST)/$(GSL) \
$(INST)/$(IML) \
$(INST)/$(JINJA2) \
$(INST)/$(LCALC) \
$(INST)/$(LRCALC) \
$(INST)/$(LIBGAP) \
$(INST)/$(LIBPNG) \
$(INST)/$(LINBOX) \
$(INST)/$(M4RI) \
$(INST)/$(M4RIE) \
$(INST)/$(MPC) \
$(INST)/$(MPFI) \
$(INST)/$(MPFR) \
$(INST)/$(MPIR) \
$(INST)/$(NTL) \
$(INST)/$(NUMPY) \
$(INST)/$(PARI) \
$(INST)/$(POLYBORI) \
$(INST)/$(PPL) \
$(INST)/$(PYNAC) \
$(INST)/$(PYTHON) \
$(INST)/$(RATPOINTS) \
$(INST)/$(READLINE) \
$(INST)/$(SINGULAR) \
$(INST)/$(SYMMETRICA) \
$(INST)/$(ZNPOLY) \
$(INST)/csage
if [ -z "$$SAGE_INSTALL_FETCH_ONLY" ]; then \
cd $(SAGE_SRC) && source bin/sage-env && \
$(PIPE) 'time python setup.py install 2>&1' 'tee -a
$(SAGE_LOGS)/sage-$(SAGE_VERSION).log' && \
touch $@; \
fi
$(INST)/csage: $(INST)/$(SCONS) \
$(INST)/$(MPIR) \
$(INST)/$(NTL) \
$(INST)/$(PARI) \
$(INST)/$(PYTHON)
if [ -z "$$SAGE_INSTALL_FETCH_ONLY" ]; then \
cd $(SAGE_SRC) && source bin/sage-env && cd c_lib && \
$(PIPE) 'time scons -Q install 2>&1' 'tee -a
$(SAGE_LOGS)/csage-$(SAGE_VERSION).log' && \
touch $@; \
fi
$(INST)/ccache: $(BASE) $(INST)/$(ZLIB)
+$(PIPE) "$(SAGE_SPKG) ccache 2>&1" "tee -a $(SAGE_LOGS)/ccache.log"
touch $(INST)/ccache
$(INST)/$(GCC): $(INST)/$(MPIR) $(INST)/$(MPFR) $(INST)/$(MPC) \
$(INST)/$(ZLIB)
+$(PIPE) "$(SAGE_SPKG) $(GCC) 2>&1" "tee -a $(SAGE_LOGS)/$(GCC).log"
$(INST)/$(PILLOW): $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS)
+$(PIPE) "$(SAGE_SPKG) $(PILLOW) 2>&1" "tee -a $(SAGE_LOGS)/$(PILLOW).log"
$(INST)/$(PKGCONFIG): $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS)
+$(PIPE) "$(SAGE_SPKG) $(PKGCONFIG) 2>&1" "tee -a
$(SAGE_LOGS)/$(PKGCONFIG).log"
$(INST)/$(NUMPY): $(INST)/$(PYTHON) $(INST)/$(ATLAS) $(INST)/$(PKGCONF)
+$(PIPE) "$(SAGE_SPKG) $(NUMPY) 2>&1" "tee -a $(SAGE_LOGS)/$(NUMPY).log"
$(INST)/$(SCIPY): $(INST)/$(ATLAS) $(INST)/$(NUMPY)
+$(PIPE) "$(SAGE_SPKG) $(SCIPY) 2>&1" "tee -a $(SAGE_LOGS)/$(SCIPY).log"
# matplotlib is needed to test cvxopt (i.e., if SAGE_CHECK=yes). See #12742.
$(INST)/$(CVXOPT): $(INST)/$(NUMPY) \
$(INST)/$(ATLAS) $(INST)/$(CEPHES) \
$(INST)/$(GSL) $(INST)/$(GLPK) $(INST)/$(MATPLOTLIB)
+$(PIPE) "$(SAGE_SPKG) $(CVXOPT) 2>&1" "tee -a $(SAGE_LOGS)/$(CVXOPT).log"
$(INST)/$(CEPHES):
+$(PIPE) "$(SAGE_SPKG) $(CEPHES) 2>&1" "tee -a $(SAGE_LOGS)/$(CEPHES).log"
Regards
Paweł
W dniu środa, 31 grudnia 2014 15:35:47 UTC+1 użytkownik Paweł Bogdan
napisał:
>
> Dima!
>
> uname -a
> Linux iota 2.6.38.8 #7 SMP Sat Aug 2 23:41:34 CEST 2014 x86_64
> Quad-Core_AMD_Opteron(tm)_Processor_8350 PLD Linux
>
> Volker!
> You are right, there are such line. Find Makefile attached to this message.
> I can ask admin of the server to fix the date.
>
> If you say that building sage locally is the best solution I can do it.
> But can you explain how should I build sage locally that it will fit to the
> server?
>
> Thanks for remarks.
> Best regards
> Paweł
>
> W dniu środa, 31 grudnia 2014 11:47:09 UTC+1 użytkownik Volker Braun
> napisał:
>>
>> We run "./configure $$PREREQ_OPTIONS" in build/install so that must be
>> where the "x make" came from. But I'm a bit confused how that is possible.
>> According to the log he hasn't set PREREQ_OPTIONS.
>>
>> Pawel, can you post your build/Makefile? This should include the make
>> target:
>>
>> $(INST)/prereq: ../configure
>> @cd ..; rm -f config.log; ln -s logs/pkgs/config.log config.log; \
>> ./configure $$PREREQ_OPTIONS || ( \
>> if [ "x$$SAGE_PORT" = x ]; then \
>> echo "If you would like to try to build Sage anyway (to
>> help porting),"; \
>> echo "export the variable 'SAGE_PORT' to something
>> non-empty."; \
>> exit 1; \
>> else \
>> echo "Since 'SAGE_PORT' is set, we will try to build
>> anyway."; \
>> fi; )
>> touch $@
>>
>> Also, the "Warning: File `Makefile' has modification time 1.5 s in the
>> future" means that you are on a network file system where the file server
>> clock is out of sync. This is a serious problem, you should ask your admin
>> to fix it. Ideally build Sage on a local file system (/scratch or so).
>>
>>
>> On Tuesday, December 30, 2014 10:39:23 PM UTC+1, Paweł Bogdan wrote:
>>>
>>> I don't know that neither. I followed instruction from
>>> http://www.sagemath.org/doc/installation/source.html#step-by-step-installation-procedure.
>>>
>>> I didn't run any ./configure script. I run only make to get logs I attached
>>> earlier. Are those steps are wrong? Should I run ./configure before make?
>>> What arguments should I use?
>>>
>>> Best regards
>>> Paweł
>>>
>>> W dniu wtorek, 30 grudnia 2014 20:46:59 UTC+1 użytkownik Jeroen Demeyer
>>> napisał:
>>>>
>>>> You config.log seems to indicate that you did run
>>>> ./configure x make
>>>> which will obviously lead to problems.
>>>>
>>>> If you didn't run this, I don't know where these bogus arguments
>>>> "x make" came from...
>>>>
>>>
--
You received this message because you are subscribed to the Google Groups
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.