Compare commits
No commits in common. "c8" and "c9" have entirely different histories.
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,2 @@
|
||||
SOURCES/lapack-3.8.0.tar.gz
|
||||
SOURCES/manpages.tgz
|
||||
SOURCES/v3.9.0.tar.gz
|
||||
|
@ -1,2 +1,2 @@
|
||||
55ac9d6be510883c5442c8aca967722cdf58fb29 SOURCES/lapack-3.8.0.tar.gz
|
||||
eb9ce19ce73e645bfb22af5480f16190baf09ae3 SOURCES/manpages.tgz
|
||||
0451d180eed2b12b94aaae77e772d7573e87bec4 SOURCES/v3.9.0.tar.gz
|
||||
|
138
SOURCES/87536aa3c8bb0af00f66088fb6ac05d87509e011.patch
Normal file
138
SOURCES/87536aa3c8bb0af00f66088fb6ac05d87509e011.patch
Normal file
@ -0,0 +1,138 @@
|
||||
From 87536aa3c8bb0af00f66088fb6ac05d87509e011 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@debian.org>
|
||||
Date: Sat, 23 Nov 2019 12:22:20 +0100
|
||||
Subject: [PATCH] Restore missing prototypes for deprecated LAPACK functions
|
||||
|
||||
Some LAPACK functions prototypes were inadvertedly dropped in 3.9.0. As a
|
||||
consequence, LAPACKE has several unresolved symbols.
|
||||
|
||||
Closes #365
|
||||
---
|
||||
LAPACKE/include/lapack.h | 100 +++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 100 insertions(+)
|
||||
|
||||
diff --git a/LAPACKE/include/lapack.h b/LAPACKE/include/lapack.h
|
||||
index 3f425325f..5c131d844 100644
|
||||
--- a/LAPACKE/include/lapack.h
|
||||
+++ b/LAPACKE/include/lapack.h
|
||||
@@ -1842,6 +1842,28 @@ void LAPACK_zgeqlf(
|
||||
lapack_complex_double* work, lapack_int const* lwork,
|
||||
lapack_int* info );
|
||||
|
||||
+#define LAPACK_sgeqpf LAPACK_GLOBAL(sgeqpf,SGEQPF)
|
||||
+void LAPACK_sgeqpf( lapack_int* m, lapack_int* n, float* a, lapack_int* lda,
|
||||
+ lapack_int* jpvt, float* tau, float* work,
|
||||
+ lapack_int *info );
|
||||
+
|
||||
+#define LAPACK_dgeqpf LAPACK_GLOBAL(dgeqpf,DGEQPF)
|
||||
+void LAPACK_dgeqpf( lapack_int* m, lapack_int* n, double* a, lapack_int* lda,
|
||||
+ lapack_int* jpvt, double* tau, double* work,
|
||||
+ lapack_int *info );
|
||||
+
|
||||
+#define LAPACK_cgeqpf LAPACK_GLOBAL(cgeqpf,CGEQPF)
|
||||
+void LAPACK_cgeqpf( lapack_int* m, lapack_int* n, lapack_complex_float* a,
|
||||
+ lapack_int* lda, lapack_int* jpvt,
|
||||
+ lapack_complex_float* tau, lapack_complex_float* work,
|
||||
+ float* rwork, lapack_int *info );
|
||||
+
|
||||
+#define LAPACK_zgeqpf LAPACK_GLOBAL(zgeqpf,ZGEQPF)
|
||||
+void LAPACK_zgeqpf( lapack_int* m, lapack_int* n, lapack_complex_double* a,
|
||||
+ lapack_int* lda, lapack_int* jpvt,
|
||||
+ lapack_complex_double* tau, lapack_complex_double* work,
|
||||
+ double* rwork, lapack_int *info );
|
||||
+
|
||||
#define LAPACK_cgeqp3 LAPACK_GLOBAL(cgeqp3,CGEQP3)
|
||||
void LAPACK_cgeqp3(
|
||||
lapack_int const* m, lapack_int const* n,
|
||||
@@ -3617,6 +3639,47 @@ void LAPACK_zggrqf(
|
||||
lapack_complex_double* work, lapack_int const* lwork,
|
||||
lapack_int* info );
|
||||
|
||||
+#define LAPACK_sggsvd LAPACK_GLOBAL(sggsvd,SGGSVD)
|
||||
+lapack_int LAPACKE_sggsvd( int matrix_layout, char jobu, char jobv, char jobq,
|
||||
+ lapack_int m, lapack_int n, lapack_int p,
|
||||
+ lapack_int* k, lapack_int* l, float* a,
|
||||
+ lapack_int lda, float* b, lapack_int ldb,
|
||||
+ float* alpha, float* beta, float* u, lapack_int ldu,
|
||||
+ float* v, lapack_int ldv, float* q, lapack_int ldq,
|
||||
+ lapack_int* iwork );
|
||||
+
|
||||
+#define LAPACK_dggsvd LAPACK_GLOBAL(dggsvd,DGGSVD)
|
||||
+lapack_int LAPACKE_dggsvd( int matrix_layout, char jobu, char jobv, char jobq,
|
||||
+ lapack_int m, lapack_int n, lapack_int p,
|
||||
+ lapack_int* k, lapack_int* l, double* a,
|
||||
+ lapack_int lda, double* b, lapack_int ldb,
|
||||
+ double* alpha, double* beta, double* u,
|
||||
+ lapack_int ldu, double* v, lapack_int ldv, double* q,
|
||||
+ lapack_int ldq, lapack_int* iwork );
|
||||
+
|
||||
+#define LAPACK_cggsvd LAPACK_GLOBAL(cggsvd,CGGSVD)
|
||||
+lapack_int LAPACKE_cggsvd( int matrix_layout, char jobu, char jobv, char jobq,
|
||||
+ lapack_int m, lapack_int n, lapack_int p,
|
||||
+ lapack_int* k, lapack_int* l,
|
||||
+ lapack_complex_float* a, lapack_int lda,
|
||||
+ lapack_complex_float* b, lapack_int ldb,
|
||||
+ float* alpha, float* beta, lapack_complex_float* u,
|
||||
+ lapack_int ldu, lapack_complex_float* v,
|
||||
+ lapack_int ldv, lapack_complex_float* q,
|
||||
+ lapack_int ldq, lapack_int* iwork );
|
||||
+
|
||||
+#define LAPACK_zggsvd LAPACK_GLOBAL(zggsvd,ZGGSVD)
|
||||
+lapack_int LAPACKE_zggsvd( int matrix_layout, char jobu, char jobv, char jobq,
|
||||
+ lapack_int m, lapack_int n, lapack_int p,
|
||||
+ lapack_int* k, lapack_int* l,
|
||||
+ lapack_complex_double* a, lapack_int lda,
|
||||
+ lapack_complex_double* b, lapack_int ldb,
|
||||
+ double* alpha, double* beta,
|
||||
+ lapack_complex_double* u, lapack_int ldu,
|
||||
+ lapack_complex_double* v, lapack_int ldv,
|
||||
+ lapack_complex_double* q, lapack_int ldq,
|
||||
+ lapack_int* iwork );
|
||||
+
|
||||
#define LAPACK_cggsvd3 LAPACK_GLOBAL(cggsvd3,CGGSVD3)
|
||||
void LAPACK_cggsvd3(
|
||||
char const* jobu, char const* jobv, char const* jobq,
|
||||
@@ -3679,6 +3742,43 @@ void LAPACK_zggsvd3(
|
||||
lapack_int* iwork,
|
||||
lapack_int* info );
|
||||
|
||||
+#define LAPACK_sggsvp LAPACK_GLOBAL(sggsvp,SGGSVP)
|
||||
+lapack_int LAPACKE_sggsvp( int matrix_layout, char jobu, char jobv, char jobq,
|
||||
+ lapack_int m, lapack_int p, lapack_int n, float* a,
|
||||
+ lapack_int lda, float* b, lapack_int ldb, float tola,
|
||||
+ float tolb, lapack_int* k, lapack_int* l, float* u,
|
||||
+ lapack_int ldu, float* v, lapack_int ldv, float* q,
|
||||
+ lapack_int ldq );
|
||||
+
|
||||
+#define LAPACK_dggsvp LAPACK_GLOBAL(dggsvp,DGGSVP)
|
||||
+lapack_int LAPACKE_dggsvp( int matrix_layout, char jobu, char jobv, char jobq,
|
||||
+ lapack_int m, lapack_int p, lapack_int n, double* a,
|
||||
+ lapack_int lda, double* b, lapack_int ldb,
|
||||
+ double tola, double tolb, lapack_int* k,
|
||||
+ lapack_int* l, double* u, lapack_int ldu, double* v,
|
||||
+ lapack_int ldv, double* q, lapack_int ldq );
|
||||
+
|
||||
+#define LAPACK_cggsvp LAPACK_GLOBAL(cggsvp,CGGSVP)
|
||||
+lapack_int LAPACKE_cggsvp( int matrix_layout, char jobu, char jobv, char jobq,
|
||||
+ lapack_int m, lapack_int p, lapack_int n,
|
||||
+ lapack_complex_float* a, lapack_int lda,
|
||||
+ lapack_complex_float* b, lapack_int ldb, float tola,
|
||||
+ float tolb, lapack_int* k, lapack_int* l,
|
||||
+ lapack_complex_float* u, lapack_int ldu,
|
||||
+ lapack_complex_float* v, lapack_int ldv,
|
||||
+ lapack_complex_float* q, lapack_int ldq );
|
||||
+
|
||||
+#define LAPACK_zggsvp LAPACK_GLOBAL(zggsvp,ZGGSVP)
|
||||
+lapack_int LAPACKE_zggsvp( int matrix_layout, char jobu, char jobv, char jobq,
|
||||
+ lapack_int m, lapack_int p, lapack_int n,
|
||||
+ lapack_complex_double* a, lapack_int lda,
|
||||
+ lapack_complex_double* b, lapack_int ldb,
|
||||
+ double tola, double tolb, lapack_int* k,
|
||||
+ lapack_int* l, lapack_complex_double* u,
|
||||
+ lapack_int ldu, lapack_complex_double* v,
|
||||
+ lapack_int ldv, lapack_complex_double* q,
|
||||
+ lapack_int ldq );
|
||||
+
|
||||
#define LAPACK_cggsvp3 LAPACK_GLOBAL(cggsvp3,CGGSVP3)
|
||||
void LAPACK_cggsvp3(
|
||||
char const* jobu, char const* jobv, char const* jobq,
|
@ -1,7 +1,7 @@
|
||||
OBJCOPY = objcopy
|
||||
|
||||
ifndef SYMBOLPREFIX
|
||||
SYMBOLPREFIX =
|
||||
ifndef SYMBOLSUFFIX
|
||||
SYMBOLSUFFIX =
|
||||
endif
|
||||
|
||||
clean:
|
||||
@ -56,29 +56,29 @@ OBJS= $(SBLAS1) $(SBLAS2) $(SBLAS3) $(DBLAS1) $(DBLAS2) $(DBLAS3) \
|
||||
$(ALLBLAS)
|
||||
|
||||
static: $(OBJS)
|
||||
ifeq "$(SYMBOLPREFIX)" ""
|
||||
ifeq "$(SYMBOLSUFFIX)" ""
|
||||
ar ruv libblas.a $(OBJS)
|
||||
ranlib libblas.a
|
||||
else
|
||||
ar ruv libblas$(SYMBOLPREFIX).a $(OBJS)
|
||||
ranlib libblas$(SYMBOLPREFIX).a
|
||||
for i in `nm libblas$(SYMBOLPREFIX).a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > blas-static-prefix.def.dirty
|
||||
ar ruv libblas$(SYMBOLSUFFIX).a $(OBJS)
|
||||
ranlib libblas$(SYMBOLSUFFIX).a
|
||||
for i in `nm libblas$(SYMBOLSUFFIX).a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > blas-static-prefix.def.dirty
|
||||
sort -n blas-static-prefix.def.dirty | uniq > blas-static-prefix.def
|
||||
$(OBJCOPY) --redefine-syms blas-static-prefix.def libblas$(SYMBOLPREFIX).a libblas$(SYMBOLPREFIX).a.fixed
|
||||
rm -rf libblas$(SYMBOLPREFIX).a
|
||||
mv libblas$(SYMBOLPREFIX).a.fixed libblas$(SYMBOLPREFIX).a
|
||||
$(OBJCOPY) --redefine-syms blas-static-prefix.def libblas$(SYMBOLSUFFIX).a libblas$(SYMBOLSUFFIX).a.fixed
|
||||
rm -rf libblas$(SYMBOLSUFFIX).a
|
||||
mv libblas$(SYMBOLSUFFIX).a.fixed libblas$(SYMBOLSUFFIX).a
|
||||
endif
|
||||
|
||||
shared: $(OBJS)
|
||||
ifeq "$(SYMBOLPREFIX)" ""
|
||||
ifeq "$(SYMBOLSUFFIX)" ""
|
||||
# No renaming needed
|
||||
cc $(CFLAGS) -shared -Wl,-soname,libblas.so.@SHORTVER@ -o libblas.so.@LONGVER@ $(OBJS) $(LDFLAGS) -lm -lgfortran -lc
|
||||
else
|
||||
cc $(CFLAGS) -shared -Wl,-soname,libblas$(SYMBOLPREFIX).so.@SHORTVER@ -o libblas$(SYMBOLPREFIX).so.@LONGVER@ $(OBJS) $(LDFLAGS) -lm -lgfortran -lc
|
||||
# generate a list of all symbols in shared library and rename with SYMBOLPREFIX
|
||||
for i in `readelf -Ws libblas$(SYMBOLPREFIX).so.@LONGVER@ | awk '{print $$8}' | grep -v GLIBC |grep -v GFORTRAN |grep -v "Name" `; do echo "$$i" "64_$$i"; done > blas-prefix.def.dirty
|
||||
cc $(CFLAGS) -shared -Wl,-soname,libblas$(SYMBOLSUFFIX).so.@SHORTVER@ -o libblas$(SYMBOLSUFFIX).so.@LONGVER@ $(OBJS) $(LDFLAGS) -lm -lgfortran -lc
|
||||
# generate a list of all symbols in shared library and rename with SYMBOLSUFFIX
|
||||
for i in `readelf -Ws libblas$(SYMBOLSUFFIX).so.@LONGVER@ | awk '{print $$8}' | grep -v GLIBC |grep -v GFORTRAN |grep -v "Name" `; do echo "$$i" "64_$$i"; done > blas-prefix.def.dirty
|
||||
sort -n blas-prefix.def.dirty | uniq > blas-prefix.def
|
||||
$(OBJCOPY) --redefine-syms blas-prefix.def libblas$(SYMBOLPREFIX).so.@LONGVER@ libblas$(SYMBOLPREFIX).so.@LONGVER@.fixed
|
||||
rm -rf libblas$(SYMBOLPREFIX).so.@LONGVER@
|
||||
mv libblas$(SYMBOLPREFIX).so.@LONGVER@.fixed libblas$(SYMBOLPREFIX).so.@LONGVER@
|
||||
$(OBJCOPY) --redefine-syms blas-prefix.def libblas$(SYMBOLSUFFIX).so.@LONGVER@ libblas$(SYMBOLSUFFIX).so.@LONGVER@.fixed
|
||||
rm -rf libblas$(SYMBOLSUFFIX).so.@LONGVER@
|
||||
mv libblas$(SYMBOLSUFFIX).so.@LONGVER@.fixed libblas$(SYMBOLSUFFIX).so.@LONGVER@
|
||||
endif
|
||||
|
@ -1,7 +1,7 @@
|
||||
OBJCOPY = objcopy
|
||||
|
||||
ifndef SYMBOLPREFIX
|
||||
SYMBOLPREFIX =
|
||||
ifndef SYMBOLSUFFIX
|
||||
SYMBOLSUFFIX =
|
||||
endif
|
||||
|
||||
clean:
|
||||
@ -70,30 +70,30 @@ OBJS= $(SLEV1) $(DLEV1) $(CLEV1) $(ZLEV1) $(SCLEV1) $(SLEV2) $(DLEV2) $(CLEV2) \
|
||||
$(ZLEV2) $(SLEV3) $(DLEV3) $(CLEV3) $(ZLEV3) $(ERRHAND)
|
||||
|
||||
static: $(OBJS)
|
||||
ifeq "$(SYMBOLPREFIX)" ""
|
||||
ifeq "$(SYMBOLSUFFIX)" ""
|
||||
ar ruv libcblas.a $(OBJS)
|
||||
ranlib libcblas.a
|
||||
else
|
||||
ar ruv libcblas$(SYMBOLPREFIX).a $(OBJS)
|
||||
ranlib libcblas$(SYMBOLPREFIX).a
|
||||
for i in `nm libcblas$(SYMBOLPREFIX).a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > cblas-static-prefix.def.dirty
|
||||
ar ruv libcblas$(SYMBOLSUFFIX).a $(OBJS)
|
||||
ranlib libcblas$(SYMBOLSUFFIX).a
|
||||
for i in `nm libcblas$(SYMBOLSUFFIX).a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > cblas-static-prefix.def.dirty
|
||||
sort -n cblas-static-prefix.def.dirty | uniq > cblas-static-prefix.def
|
||||
$(OBJCOPY) --redefine-syms cblas-static-prefix.def libcblas$(SYMBOLPREFIX).a libcblas$(SYMBOLPREFIX).a.fixed
|
||||
rm -rf libcblas$(SYMBOLPREFIX).a
|
||||
mv libcblas$(SYMBOLPREFIX).a.fixed libcblas$(SYMBOLPREFIX).a
|
||||
$(OBJCOPY) --redefine-syms cblas-static-prefix.def libcblas$(SYMBOLSUFFIX).a libcblas$(SYMBOLSUFFIX).a.fixed
|
||||
rm -rf libcblas$(SYMBOLSUFFIX).a
|
||||
mv libcblas$(SYMBOLSUFFIX).a.fixed libcblas$(SYMBOLSUFFIX).a
|
||||
endif
|
||||
|
||||
shared: $(OBJS)
|
||||
ifeq "$(SYMBOLPREFIX)" ""
|
||||
ifeq "$(SYMBOLSUFFIX)" ""
|
||||
# No renaming needed
|
||||
cc $(CFLAGS) -shared -Wl,-soname,libcblas.so.@SHORTVER@ -o libcblas.so.@LONGVER@ $(OBJS) $(LDFLAGS) -L../../ -lblas -lm -lgfortran -lc
|
||||
else
|
||||
cc $(CFLAGS) -shared -Wl,-soname,libcblas$(SYMBOLPREFIX).so.@SHORTVER@ -o libcblas$(SYMBOLPREFIX).so.@LONGVER@ $(OBJS) $(LDFLAGS) -L../.. -lblas -lm -lgfortran -lc
|
||||
# generate a list of all symbols in shared library and rename with SYMBOLPREFIX
|
||||
for i in `readelf -Ws libcblas$(SYMBOLPREFIX).so.@LONGVER@ | awk '{print $$8}' | grep -v GLIBC |grep -v GFORTRAN |grep -v "Name" `; do echo "$$i" "64_$$i"; done > cblas-prefix.def.dirty
|
||||
cc $(CFLAGS) -shared -Wl,-soname,libcblas$(SYMBOLSUFFIX).so.@SHORTVER@ -o libcblas$(SYMBOLSUFFIX).so.@LONGVER@ $(OBJS) $(LDFLAGS) -L../.. -lblas -lm -lgfortran -lc
|
||||
# generate a list of all symbols in shared library and rename with SYMBOLSUFFIX
|
||||
for i in `readelf -Ws libcblas$(SYMBOLSUFFIX).so.@LONGVER@ | awk '{print $$8}' | grep -v GLIBC |grep -v GFORTRAN |grep -v "Name" `; do echo "$$i" "64_$$i"; done > cblas-prefix.def.dirty
|
||||
sort -n cblas-prefix.def.dirty | uniq > cblas-prefix.def
|
||||
$(OBJCOPY) --redefine-syms cblas-prefix.def libcblas$(SYMBOLPREFIX).so.@LONGVER@ libcblas$(SYMBOLPREFIX).so.@LONGVER@.fixed
|
||||
rm -rf libcblas$(SYMBOLPREFIX).so.@LONGVER@
|
||||
mv libcblas$(SYMBOLPREFIX).so.@LONGVER@.fixed libcblas$(SYMBOLPREFIX).so.@LONGVER@
|
||||
$(OBJCOPY) --redefine-syms cblas-prefix.def libcblas$(SYMBOLSUFFIX).so.@LONGVER@ libcblas$(SYMBOLSUFFIX).so.@LONGVER@.fixed
|
||||
rm -rf libcblas$(SYMBOLSUFFIX).so.@LONGVER@
|
||||
mv libcblas$(SYMBOLSUFFIX).so.@LONGVER@.fixed libcblas$(SYMBOLSUFFIX).so.@LONGVER@
|
||||
endif
|
||||
|
||||
|
@ -2,8 +2,8 @@ include ../make.inc
|
||||
|
||||
OBJCOPY = objcopy
|
||||
|
||||
ifndef SYMBOLPREFIX
|
||||
SYMBOLPREFIX =
|
||||
ifndef SYMBOLSUFFIX
|
||||
SYMBOLSUFFIX =
|
||||
endif
|
||||
|
||||
clean:
|
||||
@ -38,7 +38,7 @@ SLASRC = sbdsvdx.o sgbbrd.o sgbcon.o sgbequ.o sgbrfs.o sgbsv.o \
|
||||
slatbs.o slatdf.o slatps.o slatrd.o slatrs.o slatrz.o \
|
||||
slauu2.o slauum.o sopgtr.o sopmtr.o sorg2l.o sorg2r.o \
|
||||
sorgbr.o sorghr.o sorgl2.o sorglq.o sorgql.o sorgqr.o sorgr2.o \
|
||||
sorgrq.o sorgtr.o sorm2l.o sorm2r.o sorm22.o \
|
||||
sorgrq.o sorgtr.o sorgtsqr.o sorm2l.o sorm2r.o sorm22.o \
|
||||
sormbr.o sormhr.o sorml2.o sormlq.o sormql.o sormqr.o sormr2.o \
|
||||
sormr3.o sormrq.o sormrz.o sormtr.o spbcon.o spbequ.o spbrfs.o \
|
||||
spbstf.o spbsv.o spbsvx.o \
|
||||
@ -80,9 +80,11 @@ SLASRC = sbdsvdx.o sgbbrd.o sgbcon.o sgbequ.o sgbrfs.o sgbsv.o \
|
||||
sgetsls.o sgeqr.o slatsqr.o slamtsqr.o sgemqr.o \
|
||||
sgelq.o slaswlq.o slamswlq.o sgemlq.o \
|
||||
stplqt.o stplqt2.o stpmlqt.o \
|
||||
sorhr_col.o slaorhr_col_getrfnp.o slaorhr_col_getrfnp2.o \
|
||||
ssytrd_2stage.o ssytrd_sy2sb.o ssytrd_sb2st.o ssb2st_kernels.o \
|
||||
ssyevd_2stage.o ssyev_2stage.o ssyevx_2stage.o ssyevr_2stage.o \
|
||||
ssbev_2stage.o ssbevx_2stage.o ssbevd_2stage.o ssygv_2stage.o \
|
||||
sgesvdq.o scombssq.o \
|
||||
DEPRECATED/sgegs.o DEPRECATED/sgegv.o DEPRECATED/sgeqpf.o DEPRECATED/sgelsx.o \
|
||||
DEPRECATED/sggsvd.o DEPRECATED/sggsvp.o DEPRECATED/slahrd.o DEPRECATED/slatzm.o \
|
||||
DEPRECATED/stzrqf.o
|
||||
@ -159,7 +161,7 @@ CLASRC = cbdsqr.o cgbbrd.o cgbcon.o cgbequ.o cgbrfs.o cgbsv.o cgbsvx.o \
|
||||
ctptrs.o ctrcon.o ctrevc.o ctrevc3.o ctrexc.o ctrrfs.o ctrsen.o ctrsna.o \
|
||||
ctrsyl.o ctrti2.o ctrtri.o ctrtrs.o ctzrzf.o cung2l.o cung2r.o \
|
||||
cungbr.o cunghr.o cungl2.o cunglq.o cungql.o cungqr.o cungr2.o \
|
||||
cungrq.o cungtr.o cunm2l.o cunm2r.o cunmbr.o cunmhr.o cunml2.o cunm22.o \
|
||||
cungrq.o cungtr.o cungtsqr.o cunm2l.o cunm2r.o cunmbr.o cunmhr.o cunml2.o cunm22.o \
|
||||
cunmlq.o cunmql.o cunmqr.o cunmr2.o cunmr3.o cunmrq.o cunmrz.o \
|
||||
cunmtr.o cupgtr.o cupmtr.o icmax1.o scsum1.o cstemr.o \
|
||||
chfrk.o ctfttp.o clanhf.o cpftrf.o cpftri.o cpftrs.o ctfsm.o ctftri.o \
|
||||
@ -173,9 +175,11 @@ CLASRC = cbdsqr.o cgbbrd.o cgbcon.o cgbequ.o cgbrfs.o cgbsv.o cgbsvx.o \
|
||||
cgetsls.o cgeqr.o clatsqr.o clamtsqr.o cgemqr.o \
|
||||
cgelq.o claswlq.o clamswlq.o cgemlq.o \
|
||||
ctplqt.o ctplqt2.o ctpmlqt.o \
|
||||
cunhr_col.o claunhr_col_getrfnp.o claunhr_col_getrfnp2.o \
|
||||
chetrd_2stage.o chetrd_he2hb.o chetrd_hb2st.o chb2st_kernels.o \
|
||||
cheevd_2stage.o cheev_2stage.o cheevx_2stage.o cheevr_2stage.o \
|
||||
chbev_2stage.o chbevx_2stage.o chbevd_2stage.o chegv_2stage.o \
|
||||
cgesvdq.o \
|
||||
DEPRECATED/cgegs.o DEPRECATED/cgegv.o \
|
||||
DEPRECATED/cgeqpf.o DEPRECATED/cgelsx.o DEPRECATED/cggsvd.o \
|
||||
DEPRECATED/cggsvp.o DEPRECATED/clahrd.o DEPRECATED/clatzm.o DEPRECATED/ctzrqf.o
|
||||
@ -209,7 +213,7 @@ DLASRC = dbdsvdx.o dgbbrd.o dgbcon.o dgbequ.o dgbrfs.o dgbsv.o \
|
||||
dlatbs.o dlatdf.o dlatps.o dlatrd.o dlatrs.o dlatrz.o dlauu2.o \
|
||||
dlauum.o dopgtr.o dopmtr.o dorg2l.o dorg2r.o \
|
||||
dorgbr.o dorghr.o dorgl2.o dorglq.o dorgql.o dorgqr.o dorgr2.o \
|
||||
dorgrq.o dorgtr.o dorm2l.o dorm2r.o dorm22.o \
|
||||
dorgrq.o dorgtr.o dorgtsqr.o dorm2l.o dorm2r.o dorm22.o \
|
||||
dormbr.o dormhr.o dorml2.o dormlq.o dormql.o dormqr.o dormr2.o \
|
||||
dormr3.o dormrq.o dormrz.o dormtr.o dpbcon.o dpbequ.o dpbrfs.o \
|
||||
dpbstf.o dpbsv.o dpbsvx.o \
|
||||
@ -253,9 +257,11 @@ DLASRC = dbdsvdx.o dgbbrd.o dgbcon.o dgbequ.o dgbrfs.o dgbsv.o \
|
||||
dgetsls.o dgeqr.o dlatsqr.o dlamtsqr.o dgemqr.o \
|
||||
dgelq.o dlaswlq.o dlamswlq.o dgemlq.o \
|
||||
dtplqt.o dtplqt2.o dtpmlqt.o \
|
||||
dorhr_col.o dlaorhr_col_getrfnp.o dlaorhr_col_getrfnp2.o \
|
||||
dsytrd_2stage.o dsytrd_sy2sb.o dsytrd_sb2st.o dsb2st_kernels.o \
|
||||
dsyevd_2stage.o dsyev_2stage.o dsyevx_2stage.o dsyevr_2stage.o \
|
||||
dsbev_2stage.o dsbevx_2stage.o dsbevd_2stage.o dsygv_2stage.o \
|
||||
dgesvdq.o dcombssq.o \
|
||||
DEPRECATED/dgegs.o DEPRECATED/dgegv.o \
|
||||
DEPRECATED/dgeqpf.o DEPRECATED/dgelsx.o DEPRECATED/dggsvd.o \
|
||||
DEPRECATED/dggsvp.o DEPRECATED/dlahrd.o DEPRECATED/dlatzm.o DEPRECATED/dtzrqf.o
|
||||
@ -332,7 +338,7 @@ ZLASRC = zbdsqr.o zgbbrd.o zgbcon.o zgbequ.o zgbrfs.o zgbsv.o zgbsvx.o \
|
||||
ztptrs.o ztrcon.o ztrevc.o ztrevc3.o ztrexc.o ztrrfs.o ztrsen.o ztrsna.o \
|
||||
ztrsyl.o ztrti2.o ztrtri.o ztrtrs.o ztzrzf.o zung2l.o \
|
||||
zung2r.o zungbr.o zunghr.o zungl2.o zunglq.o zungql.o zungqr.o zungr2.o \
|
||||
zungrq.o zungtr.o zunm2l.o zunm2r.o zunmbr.o zunmhr.o zunml2.o zunm22.o \
|
||||
zungrq.o zungtr.o zungtsqr.o zunm2l.o zunm2r.o zunmbr.o zunmhr.o zunml2.o zunm22.o \
|
||||
zunmlq.o zunmql.o zunmqr.o zunmr2.o zunmr3.o zunmrq.o zunmrz.o \
|
||||
zunmtr.o zupgtr.o \
|
||||
zupmtr.o izmax1.o dzsum1.o zstemr.o \
|
||||
@ -348,9 +354,11 @@ ZLASRC = zbdsqr.o zgbbrd.o zgbcon.o zgbequ.o zgbrfs.o zgbsv.o zgbsvx.o \
|
||||
zgelqt.o zgelqt3.o zgemlqt.o \
|
||||
zgetsls.o zgeqr.o zlatsqr.o zlamtsqr.o zgemqr.o \
|
||||
zgelq.o zlaswlq.o zlamswlq.o zgemlq.o \
|
||||
zunhr_col.o zlaunhr_col_getrfnp.o zlaunhr_col_getrfnp2.o \
|
||||
zhetrd_2stage.o zhetrd_he2hb.o zhetrd_hb2st.o zhb2st_kernels.o \
|
||||
zheevd_2stage.o zheev_2stage.o zheevx_2stage.o zheevr_2stage.o \
|
||||
zhbev_2stage.o zhbevx_2stage.o zhbevd_2stage.o zhegv_2stage.o \
|
||||
zgesvdq.o \
|
||||
|
||||
SCLAUX = sbdsdc.o \
|
||||
sbdsqr.o sdisna.o slabad.o slacpy.o sladiv.o slae2.o slaebz.o \
|
||||
@ -442,29 +450,29 @@ ALLXOBJ=$(SXLASRC) $(DXLASRC) $(CXLASRC) $(ZXLASRC) $(ALLXAUX)
|
||||
endif
|
||||
|
||||
static: $(ALLOBJ) $(ALLXOBJ)
|
||||
ifeq "$(SYMBOLPREFIX)" ""
|
||||
ifeq "$(SYMBOLSUFFIX)" ""
|
||||
ar ruv liblapack.a $(ALLOBJ) $(ALLXOBJ)
|
||||
ranlib liblapack.a
|
||||
else
|
||||
ar ruv liblapack$(SYMBOLPREFIX).a $(ALLOBJ) $(ALLXOBJ)
|
||||
ranlib liblapack$(SYMBOLPREFIX).a
|
||||
for i in `nm liblapack$(SYMBOLPREFIX).a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > lapack-static-prefix.def.dirty
|
||||
ar ruv liblapack$(SYMBOLSUFFIX).a $(ALLOBJ) $(ALLXOBJ)
|
||||
ranlib liblapack$(SYMBOLSUFFIX).a
|
||||
for i in `nm liblapack$(SYMBOLSUFFIX).a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > lapack-static-prefix.def.dirty
|
||||
sort -n lapack-static-prefix.def.dirty | uniq > lapack-static-prefix.def
|
||||
$(OBJCOPY) --redefine-syms lapack-static-prefix.def liblapack$(SYMBOLPREFIX).a liblapack$(SYMBOLPREFIX).a.fixed
|
||||
rm -rf liblapack$(SYMBOLPREFIX).a
|
||||
mv liblapack$(SYMBOLPREFIX).a.fixed liblapack$(SYMBOLPREFIX).a
|
||||
$(OBJCOPY) --redefine-syms lapack-static-prefix.def liblapack$(SYMBOLSUFFIX).a liblapack$(SYMBOLSUFFIX).a.fixed
|
||||
rm -rf liblapack$(SYMBOLSUFFIX).a
|
||||
mv liblapack$(SYMBOLSUFFIX).a.fixed liblapack$(SYMBOLSUFFIX).a
|
||||
endif
|
||||
|
||||
shared: $(ALLOBJ) $(ALLXOBJ)
|
||||
ifeq "$(SYMBOLPREFIX)" ""
|
||||
ifeq "$(SYMBOLSUFFIX)" ""
|
||||
# No renaming needed
|
||||
cc $(CFLAGS) -shared -Wl,-soname,liblapack.so.@SHORTVER@ -o liblapack.so.@LONGVER@ $(ALLOBJ) $(ALLXOBJ) $(LDFLAGS) -L.. -lblas -lm -lgfortran -lc
|
||||
else
|
||||
cc $(CFLAGS) -shared -Wl,-soname,liblapack$(SYMBOLPREFIX).so.@SHORTVER@ -o liblapack$(SYMBOLPREFIX).so.@LONGVER@ $(ALLOBJ) $(ALLXOBJ) $(LDFLAGS) -L.. -lblas -lm -lgfortran -lc
|
||||
# generate a list of all symbols in shared library and rename with SYMBOLPREFIX
|
||||
for i in `readelf -Ws liblapack$(SYMBOLPREFIX).so.@LONGVER@ | awk '{print $$8}' | grep -v GLIBC |grep -v GFORTRAN |grep -v "Name" `; do echo "$$i" "64_$$i"; done > lapack-prefix.def.dirty
|
||||
cc $(CFLAGS) -shared -Wl,-soname,liblapack$(SYMBOLSUFFIX).so.@SHORTVER@ -o liblapack$(SYMBOLSUFFIX).so.@LONGVER@ $(ALLOBJ) $(ALLXOBJ) $(LDFLAGS) -L.. -lblas -lm -lgfortran -lc
|
||||
# generate a list of all symbols in shared library and rename with SYMBOLSUFFIX
|
||||
for i in `readelf -Ws liblapack$(SYMBOLSUFFIX).so.@LONGVER@ | awk '{print $$8}' | grep -v GLIBC |grep -v GFORTRAN |grep -v "Name" `; do echo "$$i" "64_$$i"; done > lapack-prefix.def.dirty
|
||||
sort -n lapack-prefix.def.dirty | uniq > lapack-prefix.def
|
||||
$(OBJCOPY) --redefine-syms lapack-prefix.def liblapack$(SYMBOLPREFIX).so.@LONGVER@ liblapack$(SYMBOLPREFIX).so.@LONGVER@.fixed
|
||||
rm -rf liblapack$(SYMBOLPREFIX).so.@LONGVER@
|
||||
mv liblapack$(SYMBOLPREFIX).so.@LONGVER@.fixed liblapack$(SYMBOLPREFIX).so.@LONGVER@
|
||||
$(OBJCOPY) --redefine-syms lapack-prefix.def liblapack$(SYMBOLSUFFIX).so.@LONGVER@ liblapack$(SYMBOLSUFFIX).so.@LONGVER@.fixed
|
||||
rm -rf liblapack$(SYMBOLSUFFIX).so.@LONGVER@
|
||||
mv liblapack$(SYMBOLSUFFIX).so.@LONGVER@.fixed liblapack$(SYMBOLSUFFIX).so.@LONGVER@
|
||||
endif
|
||||
|
@ -1,21 +0,0 @@
|
||||
diff -up lapack-3.7.1/INSTALL/make.inc.gfortran.shared lapack-3.7.1/INSTALL/make.inc.gfortran
|
||||
--- lapack-3.7.1/INSTALL/make.inc.gfortran.shared 2017-08-01 11:46:10.665067382 -0400
|
||||
+++ lapack-3.7.1/INSTALL/make.inc.gfortran 2017-08-01 11:46:10.667067346 -0400
|
||||
@@ -83,3 +83,4 @@ CBLASLIB = ../../libcblas.a
|
||||
LAPACKLIB = liblapack.a
|
||||
TMGLIB = libtmglib.a
|
||||
LAPACKELIB = liblapacke.a
|
||||
+SHLIB_LAPACKE = liblapacke.so
|
||||
diff -up lapack-3.7.1/LAPACKE/Makefile.shared lapack-3.7.1/LAPACKE/Makefile
|
||||
--- lapack-3.7.1/LAPACKE/Makefile.shared 2017-08-01 11:46:10.668067328 -0400
|
||||
+++ lapack-3.7.1/LAPACKE/Makefile 2017-08-01 11:47:23.649755395 -0400
|
||||
@@ -51,6 +51,9 @@ lapacke: include/lapacke_mangling.h
|
||||
include/lapacke_mangling.h: include/lapacke_mangling_with_flags.h.in
|
||||
cp $< $@
|
||||
|
||||
+shlib: lapacke
|
||||
+ $(CC) $(CFLAGS) -shared -Wl,-soname,$(SHLIB_LAPACKE).@SHORTVER@ -o $(SHLIB_LAPACKE).@LONGVER@ src/*.o utils/*.o $(LDFLAGS) $(LIBS) -lgfortran -lc
|
||||
+
|
||||
lapacke_example: lapacke
|
||||
$(MAKE) -C example
|
||||
|
@ -1,25 +0,0 @@
|
||||
diff -up lapack-3.7.1/LAPACKE/Makefile.tmglib lapack-3.7.1/LAPACKE/Makefile
|
||||
--- lapack-3.7.1/LAPACKE/Makefile.tmglib 2017-08-01 11:49:38.704327630 -0400
|
||||
+++ lapack-3.7.1/LAPACKE/Makefile 2017-08-01 11:50:51.487019275 -0400
|
||||
@@ -52,7 +52,7 @@ include/lapacke_mangling.h: include/lapa
|
||||
cp $< $@
|
||||
|
||||
shlib: lapacke
|
||||
- $(CC) $(CFLAGS) -shared -Wl,-soname,$(SHLIB_LAPACKE).@SHORTVER@ -o $(SHLIB_LAPACKE).@LONGVER@ src/*.o utils/*.o $(LDFLAGS) $(LIBS) -lgfortran -lc
|
||||
+ $(CC) $(CFLAGS) -shared -Wl,-soname,$(SHLIB_LAPACKE).@SHORTVER@ -o $(SHLIB_LAPACKE).@LONGVER@ src/*.o utils/*.o $(LDFLAGS) $(LIBS) -lgfortran -lc ../TESTING/MATGEN/*.o
|
||||
|
||||
lapacke_example: lapacke
|
||||
$(MAKE) -C example
|
||||
diff -up lapack-3.7.1/LAPACKE/src/Makefile.tmglib lapack-3.7.1/LAPACKE/src/Makefile
|
||||
diff -up lapack-3.7.1/Makefile.tmglib lapack-3.7.1/Makefile
|
||||
--- lapack-3.7.1/Makefile.tmglib 2017-08-01 11:49:38.705327612 -0400
|
||||
+++ lapack-3.7.1/Makefile 2017-08-01 11:52:11.149587246 -0400
|
||||
@@ -20,7 +20,7 @@ cblaslib:
|
||||
lapacklib:
|
||||
$(MAKE) -C SRC
|
||||
|
||||
-lapackelib:
|
||||
+lapackelib: tmglib
|
||||
$(MAKE) -C LAPACKE
|
||||
|
||||
tmglib:
|
@ -1,15 +0,0 @@
|
||||
diff -up lapack-3.7.1/INSTALL/make.inc.gfortran.fedora lapack-3.7.1/INSTALL/make.inc.gfortran
|
||||
--- lapack-3.7.1/INSTALL/make.inc.gfortran.fedora 2017-08-01 11:44:51.631843862 -0400
|
||||
+++ lapack-3.7.1/INSTALL/make.inc.gfortran 2017-08-01 11:45:32.001809404 -0400
|
||||
@@ -20,9 +20,9 @@ CFLAGS = -O3
|
||||
# should not compile LAPACK with flags such as -ffpe-trap=overflow.
|
||||
#
|
||||
FORTRAN = gfortran
|
||||
-OPTS = -O2 -frecursive
|
||||
+# OPTS = -O2 -frecursive
|
||||
DRVOPTS = $(OPTS)
|
||||
-NOOPT = -O0 -frecursive
|
||||
+NOOPT =
|
||||
|
||||
# Define LOADER and LOADOPTS to refer to the loader and desired
|
||||
# load options for your machine.
|
@ -1,19 +0,0 @@
|
||||
diff -up lapack-3.8.0/LAPACKE/src/Makefile.missing-aawork lapack-3.8.0/LAPACKE/src/Makefile
|
||||
--- lapack-3.8.0/LAPACKE/src/Makefile.missing-aawork 2018-02-26 15:44:06.754611865 -0500
|
||||
+++ lapack-3.8.0/LAPACKE/src/Makefile 2018-02-26 15:44:39.925820302 -0500
|
||||
@@ -1101,6 +1101,7 @@ lapacke_dsytrf_work.o \
|
||||
lapacke_dsytrf_rook.o \
|
||||
lapacke_dsytrf_rook_work.o \
|
||||
lapacke_dsytrf_aa.o \
|
||||
+lapacke_dsytrf_aa_work.o \
|
||||
lapacke_dsytrf_aa_2stage.o \
|
||||
lapacke_dsytrf_aa_2stage_work.o \
|
||||
lapacke_dsytrf_rk.o \
|
||||
@@ -1661,6 +1662,7 @@ lapacke_ssytrf_work.o \
|
||||
lapacke_ssytrf_rook.o \
|
||||
lapacke_ssytrf_rook_work.o \
|
||||
lapacke_ssytrf_aa.o \
|
||||
+lapacke_ssytrf_aa_work.o \
|
||||
lapacke_ssytrf_aa_2stage.o \
|
||||
lapacke_ssytrf_aa_2stage_work.o \
|
||||
lapacke_ssytrf_rk.o \
|
21
SOURCES/lapack-3.9.0-lapacke-shared.patch
Normal file
21
SOURCES/lapack-3.9.0-lapacke-shared.patch
Normal file
@ -0,0 +1,21 @@
|
||||
diff -up lapack-3.9.0/INSTALL/make.inc.gfortran.shared lapack-3.9.0/INSTALL/make.inc.gfortran
|
||||
--- lapack-3.9.0/INSTALL/make.inc.gfortran.shared 2019-11-26 09:19:38.689118934 -0500
|
||||
+++ lapack-3.9.0/INSTALL/make.inc.gfortran 2019-11-26 09:20:52.442628214 -0500
|
||||
@@ -81,3 +81,4 @@ CBLASLIB = $(TOPSRCDIR)/libcblas.a
|
||||
LAPACKLIB = $(TOPSRCDIR)/liblapack.a
|
||||
TMGLIB = $(TOPSRCDIR)/libtmglib.a
|
||||
LAPACKELIB = $(TOPSRCDIR)/liblapacke.a
|
||||
+SHLIB_LAPACKE = $(TOPSRCDIR)/liblapacke.so
|
||||
diff -up lapack-3.9.0/LAPACKE/Makefile.shared lapack-3.9.0/LAPACKE/Makefile
|
||||
--- lapack-3.9.0/LAPACKE/Makefile.shared 2019-11-26 09:19:38.689118934 -0500
|
||||
+++ lapack-3.9.0/LAPACKE/Makefile 2019-11-26 09:21:59.977268139 -0500
|
||||
@@ -54,6 +54,9 @@ lapacke: include/lapacke_mangling.h
|
||||
include/lapacke_mangling.h: include/lapacke_mangling_with_flags.h.in
|
||||
cp include/lapacke_mangling_with_flags.h.in $@
|
||||
|
||||
+shlib: lapacke
|
||||
+ $(CC) $(CFLAGS) -shared -Wl,-soname,liblapacke.so.@SHORTVER@ -o $(SHLIB_LAPACKE).@LONGVER@ src/*.o utils/*.o $(LDFLAGS) $(LIBS) -lgfortran -lc -L.. -llapack
|
||||
+
|
||||
.PHONY: lapacke_example
|
||||
lapacke_example: lapacke
|
||||
$(MAKE) -C example
|
24
SOURCES/lapack-3.9.0-lapacke-tmglib.patch
Normal file
24
SOURCES/lapack-3.9.0-lapacke-tmglib.patch
Normal file
@ -0,0 +1,24 @@
|
||||
diff -up lapack-3.9.0/LAPACKE/Makefile.tmglib lapack-3.9.0/LAPACKE/Makefile
|
||||
--- lapack-3.9.0/LAPACKE/Makefile.tmglib 2019-11-26 09:22:35.406554632 -0500
|
||||
+++ lapack-3.9.0/LAPACKE/Makefile 2019-11-26 09:24:06.927711490 -0500
|
||||
@@ -55,7 +55,7 @@ include/lapacke_mangling.h: include/lapa
|
||||
cp include/lapacke_mangling_with_flags.h.in $@
|
||||
|
||||
shlib: lapacke
|
||||
- $(CC) $(CFLAGS) -shared -Wl,-soname,liblapacke.so.@SHORTVER@ -o $(SHLIB_LAPACKE).@LONGVER@ src/*.o utils/*.o $(LDFLAGS) $(LIBS) -lgfortran -lc -L.. -llapack
|
||||
+ $(CC) $(CFLAGS) -shared -Wl,-soname,liblapacke.so.@SHORTVER@ -o $(SHLIB_LAPACKE).@LONGVER@ src/*.o utils/*.o $(LDFLAGS) $(LIBS) -lgfortran -lc -L.. -llapack ../TESTING/MATGEN/*.o
|
||||
|
||||
.PHONY: lapacke_example
|
||||
lapacke_example: lapacke
|
||||
diff -up lapack-3.9.0/Makefile.tmglib lapack-3.9.0/Makefile
|
||||
--- lapack-3.9.0/Makefile.tmglib 2019-11-26 09:22:35.408554591 -0500
|
||||
+++ lapack-3.9.0/Makefile 2019-11-26 09:48:23.173944899 -0500
|
||||
@@ -27,7 +27,7 @@ lapacklib:
|
||||
$(MAKE) -C SRC
|
||||
|
||||
.PHONY: lapackelib
|
||||
-lapackelib:
|
||||
+lapackelib: tmglib
|
||||
$(MAKE) -C LAPACKE
|
||||
|
||||
.PHONY: blaspplib
|
15
SOURCES/lapack-3.9.0-make.inc.patch
Normal file
15
SOURCES/lapack-3.9.0-make.inc.patch
Normal file
@ -0,0 +1,15 @@
|
||||
diff -up lapack-3.9.0/INSTALL/make.inc.gfortran.fedora lapack-3.9.0/INSTALL/make.inc.gfortran
|
||||
--- lapack-3.9.0/INSTALL/make.inc.gfortran.fedora 2019-11-26 09:18:42.671256080 -0500
|
||||
+++ lapack-3.9.0/INSTALL/make.inc.gfortran 2019-11-26 09:19:09.296715591 -0500
|
||||
@@ -20,9 +20,9 @@ CFLAGS = -O3
|
||||
# should not compile LAPACK with flags such as -ffpe-trap=overflow.
|
||||
#
|
||||
FC = gfortran
|
||||
-FFLAGS = -O2 -frecursive
|
||||
+FFLAGS =
|
||||
FFLAGS_DRV = $(FFLAGS)
|
||||
-FFLAGS_NOOPT = -O0 -frecursive
|
||||
+FFLAGS_NOOPT =
|
||||
|
||||
# Define LDFLAGS to the desired linker options for your machine.
|
||||
#
|
@ -1,5 +1,5 @@
|
||||
%global shortver 3
|
||||
%global mediumver %{shortver}.8
|
||||
%global mediumver %{shortver}.9
|
||||
|
||||
%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
|
||||
%global arch64 1
|
||||
@ -10,27 +10,28 @@
|
||||
Summary: Numerical linear algebra package libraries
|
||||
Name: lapack
|
||||
Version: %{mediumver}.0
|
||||
Release: 8%{?dist}
|
||||
Release: 10%{?dist}
|
||||
License: BSD
|
||||
Group: System Environment/Libraries
|
||||
URL: http://www.netlib.org/lapack/
|
||||
Source0: http://www.netlib.org/lapack/lapack-%{version}.tar.gz
|
||||
Source0: https://github.com/Reference-LAPACK/lapack/archive/v%{version}.tar.gz
|
||||
Source1: http://www.netlib.org/lapack/manpages.tgz
|
||||
Source2: Makefile.blas
|
||||
Source3: Makefile.lapack
|
||||
Source4: http://www.netlib.org/lapack/lapackqref.ps
|
||||
Source5: http://www.netlib.org/blas/blasqr.ps
|
||||
Source6: Makefile.cblas
|
||||
Patch3: lapack-3.7.1-make.inc.patch
|
||||
Patch4: lapack-3.7.1-lapacke-shared.patch
|
||||
Patch3: lapack-3.9.0-make.inc.patch
|
||||
Patch4: lapack-3.9.0-lapacke-shared.patch
|
||||
Patch5: lapack-3.4.1-lapacke-disable-testing-functions.patch
|
||||
Patch6: lapack-3.5.0-lapacke-matgenobj.patch
|
||||
Patch7: lapack-3.7.1-lapacke-tmglib.patch
|
||||
Patch8: lapack-3.8.0-missing-aawork.patch
|
||||
Patch7: lapack-3.9.0-lapacke-tmglib.patch
|
||||
# Bugzilla 1814756
|
||||
Patch8: https://github.com/Reference-LAPACK/lapack/commit/87536aa3c8bb0af00f66088fb6ac05d87509e011.patch
|
||||
BuildRequires: gcc-gfortran, gawk
|
||||
BuildRequires: make
|
||||
Requires: blas%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description
|
||||
%global _description_lapack %{expand:
|
||||
LAPACK (Linear Algebra PACKage) is a standard library for numerical
|
||||
linear algebra. LAPACK provides routines for solving systems of
|
||||
simultaneous linear equations, least-squares solutions of linear
|
||||
@ -42,19 +43,18 @@ are also included. LAPACK can handle dense and banded matrices, but
|
||||
not general sparse matrices. Similar functionality is provided for
|
||||
real and complex matrices in both single and double precision. LAPACK
|
||||
is coded in Fortran90 and built with gcc.
|
||||
}
|
||||
|
||||
%package devel
|
||||
Summary: LAPACK development libraries
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: blas-devel%{?_isa} = %{version}-%{release}
|
||||
%global _description_blas %{expand:
|
||||
BLAS (Basic Linear Algebra Subprograms) is a standard library which
|
||||
provides a number of basic algorithms for numerical algebra.
|
||||
}
|
||||
|
||||
%description %_description_lapack
|
||||
|
||||
%description devel
|
||||
LAPACK development libraries (shared).
|
||||
|
||||
%package static
|
||||
Summary: LAPACK static libraries
|
||||
Group: Development/Libraries
|
||||
Requires: lapack-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description static
|
||||
@ -62,93 +62,79 @@ LAPACK static libraries.
|
||||
|
||||
%package -n blas
|
||||
Summary: The Basic Linear Algebra Subprograms library
|
||||
Group: System Environment/Libraries
|
||||
|
||||
%description -n blas
|
||||
BLAS (Basic Linear Algebra Subprograms) is a standard library which
|
||||
provides a number of basic algorithms for numerical algebra.
|
||||
%description -n blas %_description_blas
|
||||
|
||||
%package -n blas-devel
|
||||
Summary: BLAS development libraries
|
||||
Group: Development/Libraries
|
||||
Requires: blas%{?_isa} = %{version}-%{release}
|
||||
Requires: gcc-gfortran
|
||||
|
||||
%description -n blas-devel
|
||||
BLAS development libraries (shared).
|
||||
|
||||
%package -n blas-static
|
||||
Summary: BLAS static libraries
|
||||
Group: Development/Libraries
|
||||
Requires: blas-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n blas-static
|
||||
BLAS static libraries.
|
||||
|
||||
%if 0%{?arch64}
|
||||
%package devel
|
||||
Summary: LAPACK development libraries
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}64%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}64_%{?_isa} = %{version}-%{release}
|
||||
Requires: blas-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
LAPACK development libraries (shared).
|
||||
|
||||
%package -n lapack64
|
||||
Summary: Numerical linear algebra package libraries
|
||||
Group: System Environment/Libraries
|
||||
Requires: blas64%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n lapack64
|
||||
LAPACK (Linear Algebra PACKage) is a standard library for numerical
|
||||
linear algebra. LAPACK provides routines for solving systems of
|
||||
simultaneous linear equations, least-squares solutions of linear
|
||||
systems of equations, eigenvalue problems, and singular value
|
||||
problems. Associated matrix factorizations (LU, Cholesky, QR, SVD,
|
||||
Schur, and generalized Schur) and related computations (i.e.,
|
||||
reordering of Schur factorizations and estimating condition numbers)
|
||||
are also included. LAPACK can handle dense and banded matrices, but
|
||||
not general sparse matrices. Similar functionality is provided for
|
||||
real and complex matrices in both single and double precision. LAPACK
|
||||
is coded in Fortran90 and built with gcc.
|
||||
%description -n lapack64 %_description_lapack
|
||||
This build has 64bit INTEGER support.
|
||||
|
||||
%package -n lapack64-devel
|
||||
Summary: LAPACK development libraries (64bit INTEGER)
|
||||
Group: Development/Libraries
|
||||
Requires: lapack64%{?_isa} = %{version}-%{release}
|
||||
Requires: lapack-devel%{?_isa} = %{version}-%{release}
|
||||
Requires: blas64-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n lapack64-devel
|
||||
LAPACK development libraries (shared, 64bit INTEGER).
|
||||
|
||||
%package -n lapack64-static
|
||||
Summary: LAPACK static libraries (64bit INTEGER)
|
||||
Group: Development/Libraries
|
||||
Requires: lapack64-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n lapack64-static
|
||||
LAPACK static libraries (64bit INTEGER).
|
||||
|
||||
%package -n blas64
|
||||
Summary: The Basic Linear Algebra Subprograms library (64bit INTEGER)
|
||||
Group: System Environment/Libraries
|
||||
|
||||
%description -n blas64
|
||||
BLAS (Basic Linear Algebra Subprograms) is a standard library which
|
||||
provides a number of basic algorithms for numerical algebra. This build
|
||||
has 64bit INTEGER support.
|
||||
%description -n blas64 %_description_blas
|
||||
This build has 64bit INTEGER support.
|
||||
|
||||
%package -n blas64-devel
|
||||
%package -n lapack64_
|
||||
Summary: Numerical linear algebra package libraries
|
||||
Requires: blas64_%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n lapack64_ %_description_lapack
|
||||
This build has 64bit INTEGER support and a symbol name suffix.
|
||||
|
||||
%package -n blas64_
|
||||
Summary: The Basic Linear Algebra Subprograms library (64bit INTEGER)
|
||||
|
||||
%description -n blas64_ %_description_blas
|
||||
This build has 64bit INTEGER support and a symbol name suffix.
|
||||
|
||||
%package -n blas-devel
|
||||
Summary: BLAS development libraries
|
||||
Group: Development/Libraries
|
||||
Requires: blas%{?_isa} = %{version}-%{release}
|
||||
Requires: blas64%{?_isa} = %{version}-%{release}
|
||||
Requires: blas-devel%{?_isa} = %{version}-%{release}
|
||||
Requires: blas64_%{?_isa} = %{version}-%{release}
|
||||
Requires: gcc-gfortran
|
||||
|
||||
%description -n blas64-devel
|
||||
%description -n blas-devel
|
||||
BLAS development libraries (shared).
|
||||
%else
|
||||
%package devel
|
||||
Summary: LAPACK development libraries
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: blas-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%package -n blas64-static
|
||||
Summary: BLAS static libraries (64bit INTEGER)
|
||||
Group: Development/Libraries
|
||||
Requires: blas64-devel%{?_isa} = %{version}-%{release}
|
||||
%description devel
|
||||
LAPACK development libraries (shared).
|
||||
|
||||
%description -n blas64-static
|
||||
BLAS static libraries (64bit INTEGER).
|
||||
%package -n blas-devel
|
||||
Summary: BLAS development libraries
|
||||
Requires: blas%{?_isa} = %{version}-%{release}
|
||||
Requires: gcc-gfortran
|
||||
|
||||
%description -n blas-devel
|
||||
BLAS development libraries (shared).
|
||||
%endif
|
||||
|
||||
%prep
|
||||
@ -159,7 +145,7 @@ BLAS static libraries (64bit INTEGER).
|
||||
# %patch5 -p1 -b .disable-functions
|
||||
# %patch6 -p1 -b .matgenobj
|
||||
%patch7 -p1 -b .tmglib
|
||||
%patch8 -p1 -b .missing-aawork
|
||||
%patch8 -p1 -b .bz1814756
|
||||
|
||||
mkdir manpages
|
||||
mv man/ manpages/
|
||||
@ -179,7 +165,7 @@ sed -i "s|@LONGVER@|%{version}|g" LAPACKE/Makefile
|
||||
sed -i "s|@LONGVER@|%{version}|g" CBLAS/src/Makefile
|
||||
|
||||
%build
|
||||
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -frecursive"
|
||||
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -frecursive --no-optimize-sibling-calls"
|
||||
RPM_OPT_O_FLAGS=$(echo $RPM_OPT_FLAGS | sed 's|-O2|-O0|')
|
||||
export FC=gfortran
|
||||
|
||||
@ -195,17 +181,26 @@ cp libblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
|
||||
%if 0%{?arch64}
|
||||
make clean
|
||||
FFLAGS="$RPM_OPT_O_FLAGS -fdefault-integer-8" make dcabs1.o
|
||||
SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" make static
|
||||
FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" make static
|
||||
cp libblas.a ${RPM_BUILD_DIR}/%{name}-%{version}/libblas64.a
|
||||
make clean
|
||||
FFLAGS="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" make dcabs1.o
|
||||
FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" LDFLAGS="%{build_ldflags}" make shared
|
||||
cp libblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/libblas64.so.%{version}
|
||||
make clean
|
||||
FFLAGS="$RPM_OPT_O_FLAGS -fdefault-integer-8" make dcabs1.o
|
||||
SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" make static
|
||||
cp libblas64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/libblas64_.a
|
||||
make clean
|
||||
FFLAGS="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" make dcabs1.o
|
||||
SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" LDFLAGS="%{build_ldflags}" make shared
|
||||
SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" LDFLAGS="%{build_ldflags}" make shared
|
||||
cp libblas64_.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/libblas64_.so.%{version}
|
||||
%endif
|
||||
popd
|
||||
|
||||
ln -s libblas.so.%{version} libblas.so
|
||||
%if 0%{?arch64}
|
||||
ln -s libblas64.so.%{version} libblas64.so
|
||||
ln -s libblas64_.so.%{version} libblas64_.so
|
||||
%endif
|
||||
|
||||
@ -219,22 +214,29 @@ FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC -I../include" LDFLAGS
|
||||
cp libcblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
|
||||
%if 0%{?arch64}
|
||||
make clean
|
||||
SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -I../include" make static
|
||||
FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -I../include" make static
|
||||
cp libcblas.a ${RPM_BUILD_DIR}/%{name}-%{version}/libcblas64.a
|
||||
make clean
|
||||
FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -I../include" LDFLAGS="%{build_ldflags}" make shared
|
||||
cp libcblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/libcblas64.so.%{version}
|
||||
make clean
|
||||
SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -I../include" make static
|
||||
cp libcblas64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/libcblas64_.a
|
||||
make clean
|
||||
SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -I../include" LDFLAGS="%{build_ldflags}" make shared
|
||||
SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -I../include" LDFLAGS="%{build_ldflags}" make shared
|
||||
cp libcblas64_.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/libcblas64_.so.%{version}
|
||||
%endif
|
||||
popd
|
||||
|
||||
ln -s libcblas.so.%{version} libcblas.so
|
||||
%if 0%{?arch64}
|
||||
ln -s libcblas64.so.%{version} libcblas64.so
|
||||
ln -s libcblas64_.so.%{version} libcblas64_.so
|
||||
%endif
|
||||
|
||||
# Build the static dlamch, dsecnd, lsame, second, slamch bits
|
||||
pushd INSTALL
|
||||
make NOOPT="$RPM_OPT_O_FLAGS" OPTS="$RPM_OPT_FLAGS"
|
||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS" FFLAGS="$RPM_OPT_FLAGS"
|
||||
popd
|
||||
|
||||
# Build the static lapack library
|
||||
@ -246,7 +248,7 @@ popd
|
||||
# Build the static with pic dlamch, dsecnd, lsame, second, slamch bits
|
||||
pushd INSTALL
|
||||
make clean
|
||||
make NOOPT="$RPM_OPT_O_FLAGS -fPIC" OPTS="$RPM_OPT_FLAGS -fPIC"
|
||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC" FFLAGS="$RPM_OPT_FLAGS -fPIC"
|
||||
popd
|
||||
|
||||
# Build the static with pic lapack library
|
||||
@ -259,33 +261,61 @@ popd
|
||||
%if 0%{?arch64}
|
||||
# Build the static dlamch, dsecnd, lsame, second, slamch bits
|
||||
pushd INSTALL
|
||||
make NOOPT="$RPM_OPT_O_FLAGS -fdefault-integer-8" OPTS="$RPM_OPT_FLAGS -fdefault-integer-8"
|
||||
make clean
|
||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8"
|
||||
popd
|
||||
|
||||
# Build the static lapack library
|
||||
pushd SRC
|
||||
make SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" static
|
||||
make clean
|
||||
make FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" static
|
||||
cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64.a
|
||||
popd
|
||||
|
||||
# Build the static with pic dlamch, dsecnd, lsame, second, slamch bits (64bit INTEGER)
|
||||
pushd INSTALL
|
||||
make clean
|
||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
|
||||
popd
|
||||
|
||||
# Build the static with pic lapack library (64bit INTEGER)
|
||||
pushd SRC
|
||||
make clean
|
||||
make FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" static
|
||||
cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack_pic64.a
|
||||
popd
|
||||
|
||||
# Build the static dlamch, dsecnd, lsame, second, slamch bits
|
||||
pushd INSTALL
|
||||
make clean
|
||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8"
|
||||
popd
|
||||
|
||||
# Build the static lapack library
|
||||
pushd SRC
|
||||
make clean
|
||||
make SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" static
|
||||
cp liblapack64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64_.a
|
||||
popd
|
||||
|
||||
# Build the static with pic dlamch, dsecnd, lsame, second, slamch bits (64bit INTEGER)
|
||||
pushd INSTALL
|
||||
make clean
|
||||
make NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" OPTS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
|
||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
|
||||
popd
|
||||
|
||||
# Build the static with pic lapack library (64bit INTEGER)
|
||||
pushd SRC
|
||||
make clean
|
||||
make SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" static
|
||||
cp liblapack64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64_pic.a
|
||||
make SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" static
|
||||
cp liblapack64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack_pic64_.a
|
||||
popd
|
||||
%endif
|
||||
|
||||
# Build the shared dlamch, dsecnd, lsame, second, slamch bits
|
||||
pushd INSTALL
|
||||
make clean
|
||||
make NOOPT="$RPM_OPT_O_FLAGS -fPIC" OPTS="$RPM_OPT_FLAGS -fPIC"
|
||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC" FFLAGS="$RPM_OPT_FLAGS -fPIC"
|
||||
popd
|
||||
|
||||
# Build the shared lapack library
|
||||
@ -299,47 +329,64 @@ popd
|
||||
# Build the shared dlamch, dsecnd, lsame, second, slamch bits
|
||||
pushd INSTALL
|
||||
make clean
|
||||
make NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" OPTS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
|
||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
|
||||
popd
|
||||
|
||||
# Build the shared lapack library
|
||||
pushd SRC
|
||||
make clean
|
||||
make SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" LDFLAGS="%{build_ldflags}" shared
|
||||
make FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" LDFLAGS="%{build_ldflags}" shared
|
||||
cp liblapack.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64.so.%{version}
|
||||
popd
|
||||
|
||||
# Build the shared dlamch, dsecnd, lsame, second, slamch bits
|
||||
pushd INSTALL
|
||||
make clean
|
||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
|
||||
popd
|
||||
|
||||
# Build the shared lapack library
|
||||
pushd SRC
|
||||
make clean
|
||||
make SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" LDFLAGS="%{build_ldflags}" shared
|
||||
cp liblapack64_.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64_.so.%{version}
|
||||
popd
|
||||
%endif
|
||||
|
||||
ln -s liblapack.so.%{version} liblapack.so
|
||||
|
||||
%if 0%{?arch64}
|
||||
ln -s liblapack64.so.%{version} liblapack64.so
|
||||
ln -s liblapack64_.so.%{version} liblapack64_.so
|
||||
%endif
|
||||
|
||||
# Build the lapacke libraries
|
||||
make OPTS="$RPM_OPT_FLAGS -fPIC" NOOPT="$RPM_OPT_O_FLAGS -fPIC" tmglib
|
||||
make FFLAGS="$RPM_OPT_FLAGS -fPIC" FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC" tmglib
|
||||
pushd LAPACKE
|
||||
make clean
|
||||
make CFLAGS="$RPM_OPT_FLAGS" BUILD_DEPRECATED="true" lapacke
|
||||
make clean
|
||||
make CFLAGS="$RPM_OPT_FLAGS -fPIC" BUILD_DEPRECATED="true" LDFLAGS="%{build_ldflags}" shlib
|
||||
cp liblapacke.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
|
||||
# cp liblapacke.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
|
||||
popd
|
||||
|
||||
cp -p %{SOURCE4} lapackqref.ps
|
||||
cp -p %{SOURCE5} blasqr.ps
|
||||
|
||||
%install
|
||||
mkdir -p ${RPM_BUILD_ROOT}%{_libdir}
|
||||
mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man3
|
||||
chmod 755 ${RPM_BUILD_ROOT}%{_mandir}/man3
|
||||
mkdir -p %{buildroot}%{_libdir}
|
||||
mkdir -p %{buildroot}%{_mandir}/man3
|
||||
chmod 755 %{buildroot}%{_mandir}/man3
|
||||
|
||||
for f in liblapack.so.%{version} libblas.so.%{version} libcblas.so.%{version} liblapacke.so.%{version} libblas.a libcblas.a liblapack.a liblapack_pic.a liblapacke.a; do
|
||||
for f in liblapack.so.%{version} libblas.so.%{version} libcblas.so.%{version} liblapacke.so.%{version} \
|
||||
libblas.a libcblas.a liblapack.a liblapack_pic.a liblapacke.a; do
|
||||
cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f
|
||||
done
|
||||
|
||||
%if 0%{?arch64}
|
||||
for f in liblapack64_.so.%{version} libblas64_.so.%{version} libcblas64_.so.%{version} libblas64_.a libcblas64_.a liblapack64_.a liblapack64_pic.a; do
|
||||
for f in liblapack64.so.%{version} libblas64.so.%{version} libcblas64.so.%{version} \
|
||||
liblapack64_.so.%{version} libblas64_.so.%{version} libcblas64_.so.%{version} \
|
||||
libblas64.a libcblas64.a liblapack64.a liblapack_pic64.a \
|
||||
libblas64_.a libcblas64_.a liblapack64_.a liblapack_pic64_.a; do
|
||||
cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f
|
||||
done
|
||||
%endif
|
||||
@ -389,6 +436,12 @@ pushd manpages/man/man3
|
||||
rm -rf _Users_julie*
|
||||
popd
|
||||
|
||||
#rhbz#2222868
|
||||
pushd manpages/man/man3
|
||||
mv MAX.3 lapack-MAX.3
|
||||
mv MIN.3 lapack-MIN.3
|
||||
popd
|
||||
|
||||
find manpages/man/man3 -type f -printf "%{_mandir}/man3/%f*\n" > lapackmans
|
||||
|
||||
cp -f manpages/blas/man/man3/* ${RPM_BUILD_ROOT}%{_mandir}/man3
|
||||
@ -402,7 +455,7 @@ cp -a CBLAS/include/*.h %{buildroot}%{_includedir}/cblas/
|
||||
mkdir -p %{buildroot}%{_includedir}/lapacke/
|
||||
cp -a LAPACKE/include/*.h %{buildroot}%{_includedir}/lapacke/
|
||||
|
||||
pushd ${RPM_BUILD_ROOT}%{_libdir}
|
||||
pushd %{buildroot}%{_libdir}
|
||||
ln -sf liblapack.so.%{version} liblapack.so
|
||||
ln -sf liblapack.so.%{version} liblapack.so.%{shortver}
|
||||
ln -sf liblapack.so.%{version} liblapack.so.%{mediumver}
|
||||
@ -416,6 +469,15 @@ ln -sf liblapacke.so.%{version} liblapacke.so
|
||||
ln -sf liblapacke.so.%{version} liblapacke.so.%{shortver}
|
||||
ln -sf liblapacke.so.%{version} liblapacke.so.%{mediumver}
|
||||
%if 0%{?arch64}
|
||||
ln -sf liblapack64.so.%{version} liblapack64.so
|
||||
ln -sf liblapack64.so.%{version} liblapack64.so.%{shortver}
|
||||
ln -sf liblapack64.so.%{version} liblapack64.so.%{mediumver}
|
||||
ln -sf libblas64.so.%{version} libblas64.so
|
||||
ln -sf libblas64.so.%{version} libblas64.so.%{shortver}
|
||||
ln -sf libblas64.so.%{version} libblas64.so.%{mediumver}
|
||||
ln -sf libcblas64.so.%{version} libcblas64.so
|
||||
ln -sf libcblas64.so.%{version} libcblas64.so.%{shortver}
|
||||
ln -sf libcblas64.so.%{version} libcblas64.so.%{mediumver}
|
||||
ln -sf liblapack64_.so.%{version} liblapack64_.so
|
||||
ln -sf liblapack64_.so.%{version} liblapack64_.so.%{shortver}
|
||||
ln -sf liblapack64_.so.%{version} liblapack64_.so.%{mediumver}
|
||||
@ -436,8 +498,11 @@ sed -i 's|@CMAKE_INSTALL_FULL_INCLUDEDIR@|%{_includedir}|g' %{buildroot}%{_libdi
|
||||
sed -i 's|@LAPACK_VERSION@|%{version}|g' %{buildroot}%{_libdir}/pkgconfig/lapack.pc
|
||||
%if 0%{?arch64}
|
||||
cp -a %{buildroot}%{_libdir}/pkgconfig/lapack.pc %{buildroot}%{_libdir}/pkgconfig/lapack64.pc
|
||||
sed -i 's|-llapack|-llapack64_|g' %{buildroot}%{_libdir}/pkgconfig/lapack64.pc
|
||||
sed -i 's|-llapack|-llapack64|g' %{buildroot}%{_libdir}/pkgconfig/lapack64.pc
|
||||
sed -i 's|blas|blas64|g' %{buildroot}%{_libdir}/pkgconfig/lapack64.pc
|
||||
cp -a %{buildroot}%{_libdir}/pkgconfig/lapack.pc %{buildroot}%{_libdir}/pkgconfig/lapack64_.pc
|
||||
sed -i 's|-llapack|-llapack64_|g' %{buildroot}%{_libdir}/pkgconfig/lapack64_.pc
|
||||
sed -i 's|blas|blas64_|g' %{buildroot}%{_libdir}/pkgconfig/lapack64_.pc
|
||||
%endif
|
||||
cp -a BLAS/blas.pc.in %{buildroot}%{_libdir}/pkgconfig/blas.pc
|
||||
sed -i 's|@CMAKE_INSTALL_FULL_LIBDIR@|%{_libdir}|g' %{buildroot}%{_libdir}/pkgconfig/blas.pc
|
||||
@ -445,7 +510,9 @@ sed -i 's|@CMAKE_INSTALL_FULL_INCLUDEDIR@|%{_includedir}|g' %{buildroot}%{_libdi
|
||||
sed -i 's|@LAPACK_VERSION@|%{version}|g' %{buildroot}%{_libdir}/pkgconfig/blas.pc
|
||||
%if 0%{?arch64}
|
||||
cp -a %{buildroot}%{_libdir}/pkgconfig/blas.pc %{buildroot}%{_libdir}/pkgconfig/blas64.pc
|
||||
sed -i 's|-lblas|-lblas64_|g' %{buildroot}%{_libdir}/pkgconfig/blas64.pc
|
||||
sed -i 's|-lblas|-lblas64|g' %{buildroot}%{_libdir}/pkgconfig/blas64.pc
|
||||
cp -a %{buildroot}%{_libdir}/pkgconfig/blas.pc %{buildroot}%{_libdir}/pkgconfig/blas64_.pc
|
||||
sed -i 's|-lblas|-lblas64_|g' %{buildroot}%{_libdir}/pkgconfig/blas64_.pc
|
||||
%endif
|
||||
cp -a LAPACKE/lapacke.pc.in %{buildroot}%{_libdir}/pkgconfig/lapacke.pc
|
||||
sed -i 's|@CMAKE_INSTALL_FULL_LIBDIR@|%{_libdir}|g' %{buildroot}%{_libdir}/pkgconfig/lapacke.pc
|
||||
@ -457,26 +524,23 @@ sed -i 's|@CMAKE_INSTALL_FULL_INCLUDEDIR@|%{_includedir}/cblas|g' %{buildroot}%{
|
||||
sed -i 's|@LAPACK_VERSION@|%{version}|g' %{buildroot}%{_libdir}/pkgconfig/cblas.pc
|
||||
%if 0%{?arch64}
|
||||
cp -a %{buildroot}%{_libdir}/pkgconfig/cblas.pc %{buildroot}%{_libdir}/pkgconfig/cblas64.pc
|
||||
sed -i 's|-lcblas|-lcblas64_|g' %{buildroot}%{_libdir}/pkgconfig/cblas64.pc
|
||||
sed -i 's|-lcblas|-lcblas64|g' %{buildroot}%{_libdir}/pkgconfig/cblas64.pc
|
||||
sed -i 's|Requires.private: blas|Requires.private: blas64|g' %{buildroot}%{_libdir}/pkgconfig/cblas64.pc
|
||||
cp -a %{buildroot}%{_libdir}/pkgconfig/cblas.pc %{buildroot}%{_libdir}/pkgconfig/cblas64_.pc
|
||||
sed -i 's|-lcblas|-lcblas64_|g' %{buildroot}%{_libdir}/pkgconfig/cblas64_.pc
|
||||
sed -i 's|Requires.private: blas|Requires.private: blas64_|g' %{buildroot}%{_libdir}/pkgconfig/cblas64_.pc
|
||||
%endif
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
%ldconfig_scriptlets
|
||||
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%post -n blas -p /sbin/ldconfig
|
||||
|
||||
%postun -n blas -p /sbin/ldconfig
|
||||
%ldconfig_scriptlets -n blas
|
||||
|
||||
%if 0%{?arch64}
|
||||
%post -n lapack64 -p /sbin/ldconfig
|
||||
%ldconfig_scriptlets -n lapack64
|
||||
%ldconfig_scriptlets -n lapack64_
|
||||
|
||||
%postun -n lapack64 -p /sbin/ldconfig
|
||||
|
||||
%post -n blas64 -p /sbin/ldconfig
|
||||
|
||||
%postun -n blas64 -p /sbin/ldconfig
|
||||
%ldconfig_scriptlets -n blas64
|
||||
%ldconfig_scriptlets -n blas64_
|
||||
%endif
|
||||
|
||||
%files -f lapackmans
|
||||
@ -490,11 +554,23 @@ sed -i 's|Requires.private: blas|Requires.private: blas64|g' %{buildroot}%{_libd
|
||||
%{_libdir}/liblapacke.so
|
||||
%{_libdir}/pkgconfig/lapack.pc
|
||||
%{_libdir}/pkgconfig/lapacke.pc
|
||||
%if 0%{?arch64}
|
||||
%{_libdir}/liblapack64.so
|
||||
%{_libdir}/pkgconfig/lapack64.pc
|
||||
%{_libdir}/liblapack64_.so
|
||||
%{_libdir}/pkgconfig/lapack64_.pc
|
||||
%endif
|
||||
|
||||
%files static
|
||||
%{_libdir}/liblapack.a
|
||||
%{_libdir}/liblapack_pic.a
|
||||
%{_libdir}/liblapacke.a
|
||||
%if 0%{?arch64}
|
||||
%{_libdir}/liblapack64.a
|
||||
%{_libdir}/liblapack_pic64.a
|
||||
%{_libdir}/liblapack64_.a
|
||||
%{_libdir}/liblapack_pic64_.a
|
||||
%endif
|
||||
|
||||
%files -n blas -f blasmans
|
||||
%doc blasqr.ps LICENSE
|
||||
@ -507,41 +583,96 @@ sed -i 's|Requires.private: blas|Requires.private: blas64|g' %{buildroot}%{_libd
|
||||
%{_libdir}/libcblas.so
|
||||
%{_libdir}/pkgconfig/blas.pc
|
||||
%{_libdir}/pkgconfig/cblas.pc
|
||||
%if 0%{?arch64}
|
||||
%{_libdir}/libblas64.so
|
||||
%{_libdir}/libcblas64.so
|
||||
%{_libdir}/pkgconfig/blas64.pc
|
||||
%{_libdir}/pkgconfig/cblas64.pc
|
||||
%{_libdir}/libblas64_.so
|
||||
%{_libdir}/libcblas64_.so
|
||||
%{_libdir}/pkgconfig/blas64_.pc
|
||||
%{_libdir}/pkgconfig/cblas64_.pc
|
||||
%endif
|
||||
|
||||
%files -n blas-static
|
||||
%{_libdir}/libblas.a
|
||||
%{_libdir}/libcblas.a
|
||||
%if 0%{?arch64}
|
||||
%{_libdir}/libblas64.a
|
||||
%{_libdir}/libcblas64.a
|
||||
%{_libdir}/libblas64_.a
|
||||
%{_libdir}/libcblas64_.a
|
||||
%endif
|
||||
|
||||
%if 0%{?arch64}
|
||||
%files -n blas64
|
||||
%doc LICENSE
|
||||
%{_libdir}/libblas64_.so.*
|
||||
%{_libdir}/libcblas64_.so.*
|
||||
|
||||
%files -n blas64-devel
|
||||
%{_libdir}/libblas64_.so
|
||||
%{_libdir}/libcblas64_.so
|
||||
%{_libdir}/pkgconfig/blas64.pc
|
||||
%{_libdir}/pkgconfig/cblas64.pc
|
||||
|
||||
%files -n blas64-static
|
||||
%{_libdir}/libblas64_.a
|
||||
%{_libdir}/libcblas64_.a
|
||||
%{_libdir}/libblas64.so.*
|
||||
%{_libdir}/libcblas64.so.*
|
||||
|
||||
%files -n lapack64
|
||||
%doc README.md LICENSE
|
||||
%{_libdir}/liblapack64.so.*
|
||||
|
||||
%files -n blas64_
|
||||
%doc LICENSE
|
||||
%{_libdir}/libblas64_.so.*
|
||||
%{_libdir}/libcblas64_.so.*
|
||||
|
||||
%files -n lapack64_
|
||||
%doc README.md LICENSE
|
||||
%{_libdir}/liblapack64_.so.*
|
||||
|
||||
%files -n lapack64-devel
|
||||
%{_libdir}/liblapack64_.so
|
||||
%{_libdir}/pkgconfig/lapack64.pc
|
||||
|
||||
%files -n lapack64-static
|
||||
%{_libdir}/liblapack64_.a
|
||||
%{_libdir}/liblapack64_pic.a
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Aug 11 2023 Jakub Martisko <jamartis@redhat.com> - 3.9.0-10
|
||||
- Add explicit requires to the devel subpackages
|
||||
Related: rhbz#2229142
|
||||
|
||||
* Tue Jul 18 2023 Jakub Martisko <jamartis@redhat.com> - 3.9.0-9
|
||||
- Rename manpages: some names conflict with the man-pages package
|
||||
Resolves: rhbz#2222868
|
||||
|
||||
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 3.9.0-8
|
||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||
Related: rhbz#1991688
|
||||
|
||||
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 3.9.0-7
|
||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.0-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.0-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Sun Jun 21 2020 Iñaki Úcar <iucar@fedoraproject.org> - 3.9.0-4
|
||||
- make separate packages for 64-bit versions with and without suffix (bz1295965)
|
||||
|
||||
* Thu Mar 19 2020 Tom Callaway <spot@fedoraproject.org> - 3.9.0-3
|
||||
- apply upstream fix for accidental removal of deprecated symbols from header file
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Tue Nov 26 2019 Tom Callaway <spot@fedoraproject.org> - 3.9.0-1
|
||||
- update to 3.9.0
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.0-13
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Wed May 29 2019 Tom Callaway <spot@fedoraproject.org> - 3.8.0-12
|
||||
- use --no-optimize-sibling-calls to work around gfortran issues
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.0-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.0-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Tue Jun 19 2018 Tom Callaway <spot@fedoraproject.org> - 3.8.0-9
|
||||
- explicitly link liblapacke.so with liblapack to remove undefined-non-weak-symbols
|
||||
|
||||
* Mon Mar 5 2018 Tom Callaway <spot@fedoraproject.org> - 3.8.0-8
|
||||
- use LDFLAGS for shared libs
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user