Scipy web sayfasını inşa ve montaj talimatları vermek için kullanılır, ancak orada talimatlar şimdi OS ikili dağılımları güveniyor. Eğer inşa etmek ve daha sonra statik kütüphaneler Fortran bağlantı vermelidir, gerekli kütüphanelerin önceden derlenmiş paketleri olmadan işletim sistemlerinde scipy (ve numpy) inşa etmek BLAS ve LAPACK :
mkdir -p ~/src/
cd ~/src/
wget http://www.netlib.org/blas/blas.tgz
tar xzf blas.tgz
cd BLAS-*
## NOTE: The selected Fortran compiler must be consistent for BLAS, LAPACK, NumPy, and SciPy.
## For GNU compiler on 32-bit systems:
#g77 -O2 -fno-second-underscore -c *.f # with g77
#gfortran -O2 -std=legacy -fno-second-underscore -c *.f # with gfortran
## OR for GNU compiler on 64-bit systems:
#g77 -O3 -m64 -fno-second-underscore -fPIC -c *.f # with g77
gfortran -O3 -std=legacy -m64 -fno-second-underscore -fPIC -c *.f # with gfortran
## OR for Intel compiler:
#ifort -FI -w90 -w95 -cm -O3 -unroll -c *.f
# Continue below irrespective of compiler:
ar r libfblas.a *.o
ranlib libfblas.a
rm -rf *.o
export BLAS=~/src/BLAS-*/libfblas.a
Beş g77 / gfortran / ifort komutundan yalnızca birini yürütün. Ben, ama kullandığım gfortran tüm yorum var. Sonraki LAPACK yüklemesi bir Fortran 90 derleyicisi gerektirir ve her iki kurulum da aynı Fortran derleyicisini kullanması gerektiğinden, g77 BLAS için kullanılmamalıdır.
Ardından, LAPACK öğelerini yüklemeniz gerekir. SciPy web sayfasının talimatları burada da bana yardımcı oldu, ancak bunları ortamıma uyacak şekilde değiştirmek zorunda kaldım:
mkdir -p ~/src
cd ~/src/
wget http://www.netlib.org/lapack/lapack.tgz
tar xzf lapack.tgz
cd lapack-*/
cp INSTALL/make.inc.gfortran make.inc # On Linux with lapack-3.2.1 or newer
make lapacklib
make clean
export LAPACK=~/src/lapack-*/liblapack.a
Verified bazı yorumlar bugün (herkese teşekkürler): Güncelleme 3-Sep-2015 tarihinde çalıştırmadan önce make lapacklib
düzenlemek make.inc
dosyası ve ekleme -fPIC
seçeneği OPTS
ve NOOPT
ayarları. 64 bit mimarideyseniz veya bir mimari için derlemek istiyorsanız, ekleyin -m64
. BLAS ve LAPACK'in aynı değerlere ayarlanmış bu seçeneklerle derlenmesi önemlidir. Unutursanız -fPIC
SciPy aslında eksik semboller hakkında bir hata verecektir ve bu anahtarı önerecektir. make.inc
Kurulumumda belirli bir bölüm şöyle görünüyor:
FORTRAN = gfortran
OPTS = -O2 -frecursive -fPIC -m64
DRVOPTS = $(OPTS)
NOOPT = -O0 -frecursive -fPIC -m64
LOADER = gfortran
Eski makinelerde (örneğin RedHat 5), gfortran daha eski bir sürüme (örneğin 4.1.2) yüklenebilir ve seçeneği anlamıyor -frecursive
. Bu make.inc
gibi durumlarda dosyayı dosyadan kaldırmanız yeterlidir .
Makefile'nin lapack test hedefi kurulumumda başarısız oluyor çünkü blas kütüphanelerini bulamıyor. Kapsamlıysanız, bindirmeyi test etmek için blas kitaplığını geçici olarak belirtilen konuma taşıyabilirsiniz. Tembel bir insanım, bu yüzden sadece SciPy'de çalışmasını ve doğrulamasını sağlamak için geliştiricilere güveniyorum.