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. --- .../config/pipeline/dependency-numpy-scipy.cfg | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 reproduce/config/pipeline/dependency-numpy-scipy.cfg (limited to 'reproduce/config/pipeline/dependency-numpy-scipy.cfg') diff --git a/reproduce/config/pipeline/dependency-numpy-scipy.cfg b/reproduce/config/pipeline/dependency-numpy-scipy.cfg new file mode 100644 index 0000000..55e93bc --- /dev/null +++ b/reproduce/config/pipeline/dependency-numpy-scipy.cfg @@ -0,0 +1,47 @@ +# THIS IS A COPY OF NUMPY'S site.cfg.example, CUSTOMIZED FOR THIS PIPELINE +# ------------------------------------------------------------------------ + +# This file provides configuration information about non-Python dependencies for +# numpy.distutils-using packages. Create a file like this called "site.cfg" next +# to your package's setup.py file and fill in the appropriate sections. Not all +# packages will use all sections so you should leave out sections that your +# package does not use. + +# IMPORTANT NOTE +# -------------- +# +# The `ALL' grouping does't apply to ATLAS!!!!! + + [ALL] + library_dirs = @LIBDIR@ + include_dirs = @INCDIR@ + +# Atlas +# ----- +# Atlas is an open source optimized implementation of the BLAS and Lapack +# routines. NumPy will try to build against Atlas by default when available in +# the system library dirs. To build numpy against a custom installation of +# Atlas you can add an explicit section such as the following. Here we assume +# that Atlas was configured with ``prefix=/opt/atlas``. +# + [atlas] + library_dirs = @LIBDIR@ + include_dirs = @INCDIR@ + +# FFT libraries +# ------------- +# There are two FFT libraries that we can configure here: FFTW (2 and 3) and djbfft. +# Note that these libraries are not used by numpy or scipy. +# +# http://fftw.org/ +# https://cr.yp.to/djbfft.html +# +# Given only this section, numpy.distutils will try to figure out which version +# of FFTW you are using. +#[fftw] +#libraries = fftw3 +# +# For djbfft, numpy.distutils will look for either djbfft.a or libdjbfft.a . +#[djbfft] +#include_dirs = /usr/local/djbfft/include +#library_dirs = /usr/local/djbfft/lib -- cgit v1.2.1 From f0030ea8974b41ef4b26c3ce41c3294b224fb358 Mon Sep 17 00:00:00 2001 From: Raul Infante-Sainz Date: Tue, 2 Apr 2019 16:26:43 +0100 Subject: Numpy and Scipy using OpenBLAS instead of ATLAS We could not get ATLAS shared libraries on Mac (while the static ATLAS libraries are built and can be used successfully on Mac). So, the pipeline now builds OpenBLAS, which both Numpy and Scipy can use on Mac and GNU/Linux. We also added FFTW as a dependency of Numpy. Altough Numpy is not linking to FFTW for some reason. However, since FFTW is a low level library used by many programs, we have kept it as a dependency of Numpy anyway for now. --- reproduce/config/pipeline/dependency-numpy-scipy.cfg | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) (limited to 'reproduce/config/pipeline/dependency-numpy-scipy.cfg') diff --git a/reproduce/config/pipeline/dependency-numpy-scipy.cfg b/reproduce/config/pipeline/dependency-numpy-scipy.cfg index 55e93bc..0eecf3a 100644 --- a/reproduce/config/pipeline/dependency-numpy-scipy.cfg +++ b/reproduce/config/pipeline/dependency-numpy-scipy.cfg @@ -16,17 +16,6 @@ library_dirs = @LIBDIR@ include_dirs = @INCDIR@ -# Atlas -# ----- -# Atlas is an open source optimized implementation of the BLAS and Lapack -# routines. NumPy will try to build against Atlas by default when available in -# the system library dirs. To build numpy against a custom installation of -# Atlas you can add an explicit section such as the following. Here we assume -# that Atlas was configured with ``prefix=/opt/atlas``. -# - [atlas] - library_dirs = @LIBDIR@ - include_dirs = @INCDIR@ # FFT libraries # ------------- @@ -38,10 +27,13 @@ # # Given only this section, numpy.distutils will try to figure out which version # of FFTW you are using. -#[fftw] -#libraries = fftw3 + +# Even with this section, Numpy apparently does not use fftw. But we will +# keep it here for the future (if a solution is found). +[fftw] +libraries = fftw3 # -# For djbfft, numpy.distutils will look for either djbfft.a or libdjbfft.a . +# For djbfft, numpy.distutils will look for either djbfft.a or libdjbfft.a . #[djbfft] #include_dirs = /usr/local/djbfft/include #library_dirs = /usr/local/djbfft/lib -- cgit v1.2.1