diff --git a/Makefile.lapack b/Makefile.lapack index 07661ef..76dc685 100644 --- a/Makefile.lapack +++ b/Makefile.lapack @@ -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 \ diff --git a/lapack-3.9.0-lapacke-shared.patch b/lapack-3.9.0-lapacke-shared.patch new file mode 100644 index 0000000..2cfd668 --- /dev/null +++ b/lapack-3.9.0-lapacke-shared.patch @@ -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 diff --git a/lapack-3.9.0-lapacke-tmglib.patch b/lapack-3.9.0-lapacke-tmglib.patch new file mode 100644 index 0000000..0dbe50f --- /dev/null +++ b/lapack-3.9.0-lapacke-tmglib.patch @@ -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 diff --git a/lapack-3.9.0-make.inc.patch b/lapack-3.9.0-make.inc.patch new file mode 100644 index 0000000..401dcfa --- /dev/null +++ b/lapack-3.9.0-make.inc.patch @@ -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. + # diff --git a/lapack.spec b/lapack.spec index e42c227..a9a7b64 100644 --- a/lapack.spec +++ b/lapack.spec @@ -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,22 +10,21 @@ Summary: Numerical linear algebra package libraries Name: lapack Version: %{mediumver}.0 -Release: 13%{?dist} +Release: 1%{?dist} License: BSD 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 BuildRequires: gcc-gfortran, gawk Requires: blas%{?_isa} = %{version}-%{release} @@ -147,7 +146,6 @@ BLAS static libraries (64bit INTEGER). # %patch5 -p1 -b .disable-functions # %patch6 -p1 -b .matgenobj %patch7 -p1 -b .tmglib -%patch8 -p1 -b .missing-aawork mkdir manpages mv man/ manpages/ @@ -222,7 +220,7 @@ ln -s libcblas64_.so.%{version} libcblas64_.so # 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 @@ -234,7 +232,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 @@ -247,7 +245,7 @@ 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 FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" popd # Build the static lapack library @@ -259,7 +257,7 @@ 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) @@ -273,7 +271,7 @@ popd # 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 @@ -287,7 +285,7 @@ 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 @@ -305,22 +303,22 @@ 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 cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f @@ -390,7 +388,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} @@ -522,6 +520,9 @@ sed -i 's|Requires.private: blas|Requires.private: blas64|g' %{buildroot}%{_libd %endif %changelog +* Tue Nov 26 2019 Tom Callaway - 3.9.0-1 +- update to 3.9.0 + * Thu Jul 25 2019 Fedora Release Engineering - 3.8.0-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild