diff options
author | Raul Infante-Sainz <infantesainz@gmail.com> | 2019-03-21 15:39:06 +0000 |
---|---|---|
committer | Raul Infante-Sainz <infantesainz@gmail.com> | 2019-03-21 15:39:06 +0000 |
commit | 3e583296cb8ed2784f6cb71b53cbe3be4931fa46 (patch) | |
tree | c57b39056ffa8d1f96109e497cff698e1eeba91f /reproduce/src/make/dependencies.mk | |
parent | 75571a551f794223bea2995dc7775a49abd63654 (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.mk | 63 |
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 |