aboutsummaryrefslogtreecommitdiff
path: root/reproduce/src/make/dependencies.mk
diff options
context:
space:
mode:
authorRaul Infante-Sainz <infantesainz@gmail.com>2019-03-21 15:39:06 +0000
committerRaul Infante-Sainz <infantesainz@gmail.com>2019-03-21 15:39:06 +0000
commit3e583296cb8ed2784f6cb71b53cbe3be4931fa46 (patch)
treec57b39056ffa8d1f96109e497cff698e1eeba91f /reproduce/src/make/dependencies.mk
parent75571a551f794223bea2995dc7775a49abd63654 (diff)
ATLAS and Scipy working on GNU/Linux
Numpy needs ATLAS as shared libraries. So we also need to build Python with shared libraries. We also need to define site.cfg for numpy and scipy so we define a master template: `reproduce/config/pipeline/dependency-numpy-scipy.cfg' Also `Openssl' did not have rpath so we added with this commit.
Diffstat (limited to 'reproduce/src/make/dependencies.mk')
-rw-r--r--reproduce/src/make/dependencies.mk63
1 files changed, 33 insertions, 30 deletions
diff --git a/reproduce/src/make/dependencies.mk b/reproduce/src/make/dependencies.mk
index 7b34b31..5dbbd65 100644
--- a/reproduce/src/make/dependencies.mk
+++ b/reproduce/src/make/dependencies.mk
@@ -284,36 +284,39 @@ $(ilidir)/atlas: $(tdir)/atlas-$(atlas-version).tar.bz2 \
# `rpath_command'.
export LDFLAGS=-L$(ildir)
- cd $(ddir)
- tar xf $<
- cd ATLAS
- rm -rf build
- mkdir build
- cd build
- ../configure -b 64 -D c -DPentiumCPS=$$core \
- --with-netlib-lapack-tarfile=$(word 2, $^) \
- --cripple-atlas-performance \
- -Fa alg -fPIC --shared \
- --prefix=$(idir)
-
- # Do the basic build and the extra shared libraries.
- make
- cd lib && make -f $$sharedmk && cd ..
-
- # Add RPATH to all the shared libraries.
- for l in lib/*.so*; do patchelf --set-rpath $(ildir) $$l; done
-
- # Install the libraires.
- make install
- cp -d lib/*.so* $(ildir)
- [ -e lib/libptlapack.a ] && cp lib/libptlapack.a $(ildir)
- ln -fs $(ildir)/libblas.so $(ildir)/libblas.so.3
- ln -fs $(ildir)/liblapack.so.3.6.1 $(ildir)/liblapack.so
- ln -fs $(ildir)/liblapack.so.3.6.1 $(ildir)/liblapack.so.3
- exit 1
- cd $(ddir)
- rm -rf ATLAS
- echo "Atlas is built" > $@
+ cd $(ddir) \
+ && tar xf $< \
+ && cd ATLAS \
+ && rm -rf build \
+ && mkdir build \
+ && cd build \
+ && ../configure -b 64 -D c -DPentiumCPS=$$core \
+ --with-netlib-lapack-tarfile=$(word 2, $^) \
+ --cripple-atlas-performance \
+ -Fa alg -fPIC --shared \
+ --prefix=$(idir) \
+ && make \
+ && cd lib && make -f $$sharedmk && cd .. \
+ && for l in lib/*.so*; do patchelf --set-rpath $(ildir) $$l; done \
+ && make install \
+ && cp -d lib/*.so* $(ildir) \
+ && ln -fs $(ildir)/libblas.so $(ildir)/libblas.so.3 \
+ && ln -fs $(ildir)/libf77blas.so $(ildir)/libf77blas.so.3 \
+ && ln -fs $(ildir)/liblapack.so.3.6.1 $(ildir)/liblapack.so \
+ && ln -fs $(ildir)/liblapack.so.3.6.1 $(ildir)/liblapack.so.3;
+
+ # We need to check the existance of `libptlapack.a', but we can't
+ # do this in the `&&' steps above (it will conflict). So we'll do
+ # the check after seeing if `libtatlas.so' is installed, then we'll
+ # finalize the build (delete the untarred directory).
+ if [ -e $(ildir)/libtatlas.so ]; then \
+ [ -e lib/libptlapack.a ] && cp lib/libptlapack.a $(ildir); \
+ cd $(ddir); \
+ rm -rf ATLAS; \
+ echo "Atlas is built" > $@; \
+ else \
+ echo; echo "ATLAS wasn't installed!!!!"; exit 1; \
+ fi