From 3e583296cb8ed2784f6cb71b53cbe3be4931fa46 Mon Sep 17 00:00:00 2001 From: Raul Infante-Sainz Date: Thu, 21 Mar 2019 15:39:06 +0000 Subject: 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. --- reproduce/src/make/dependencies.mk | 63 ++++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 30 deletions(-) (limited to 'reproduce/src/make/dependencies.mk') 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 -- cgit v1.2.1