Accepting request 93204 from devel:libraries:c_c++
This is a submit request, but also a RFC. This request is for an update to 3.4, which also supports building the manpages with doxygen. Before, the manpages were offered separately. This build works with doxygen 1.7 (Factory, oS 12.1, oS 11.4) but seemingly (syntax errors, segfaults) not with 1.6 (11.3, SLE_11, SLE 10 server DB postgres). An alternative would be to use the older manpages or to pre-generate them. - Update to 3.4.0 * xGEQRT: QR factorization (improved interface) * xGEQRT3: recursive QR factorization. * xTPQRT: Communication-Avoiding QR sequential kernels. * Bug fixes. * Changes see http://www.netlib.org/lapack/lapack-3.4.0.html (forwarded request 92967 from burnus) OBS-URL: https://build.opensuse.org/request/show/93204 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/lapack?expand=0&rev=21
This commit is contained in:
parent
6ebd6e40e4
commit
6c1534cbd6
@ -1,87 +0,0 @@
|
||||
From SVN:
|
||||
r977 | james | 2011-04-22 00:00:11 +0200 (Fri, 22 Apr 2011) | 2 lines
|
||||
fixed problems with zero matrix and scan
|
||||
|
||||
bug0079 :: ILA[SDCZ]LR out of bound access in the DO LOOP for array A.
|
||||
Change DO LOOP condition and add a IF inside the DO LOOP
|
||||
|
||||
Index: SRC/ilazlr.f
|
||||
===================================================================
|
||||
--- SRC/ilazlr.f (revision 976)
|
||||
+++ SRC/ilazlr.f (revision 977)
|
||||
@@ -53,9 +53,12 @@
|
||||
ILAZLR = 0
|
||||
DO J = 1, N
|
||||
I=M
|
||||
- DO WHILE ((A(I,J).NE.ZERO).AND.(I.GE.1))
|
||||
- I=I-1
|
||||
- ENDDO
|
||||
+ DO WHILE ((A(I,J).EQ.ZERO).AND.(I.GT.1))
|
||||
+ I=I-1
|
||||
+ ENDDO
|
||||
+ IF( (I.EQ.1).AND.(A(1,J).EQ.ZERO) ) THEN
|
||||
+ I = 0
|
||||
+ END IF
|
||||
ILAZLR = MAX( ILAZLR, I )
|
||||
END DO
|
||||
END IF
|
||||
Index: SRC/ilaclr.f
|
||||
===================================================================
|
||||
--- SRC/ilaclr.f (revision 976)
|
||||
+++ SRC/ilaclr.f (revision 977)
|
||||
@@ -54,9 +54,12 @@
|
||||
ILACLR = 0
|
||||
DO J = 1, N
|
||||
I=M
|
||||
- DO WHILE ((A(I,J).NE.ZERO).AND.(I.GE.1))
|
||||
- I=I-1
|
||||
- ENDDO
|
||||
+ DO WHILE ((A(I,J).EQ.ZERO).AND.(I.GT.1))
|
||||
+ I=I-1
|
||||
+ ENDDO
|
||||
+ IF( (I.EQ.1).AND.(A(1,J).EQ.ZERO) ) THEN
|
||||
+ I = 0
|
||||
+ END IF
|
||||
ILACLR = MAX( ILACLR, I )
|
||||
END DO
|
||||
END IF
|
||||
Index: SRC/ilaslr.f
|
||||
===================================================================
|
||||
--- SRC/ilaslr.f (revision 976)
|
||||
+++ SRC/ilaslr.f (revision 977)
|
||||
@@ -54,9 +54,12 @@
|
||||
ILASLR = 0
|
||||
DO J = 1, N
|
||||
I=M
|
||||
- DO WHILE ((A(I,J).NE.ZERO).AND.(I.GE.1))
|
||||
- I=I-1
|
||||
+ DO WHILE ((A(I,J).EQ.ZERO).AND.(I.GT.1))
|
||||
+ I=I-1
|
||||
ENDDO
|
||||
+ IF( (I.EQ.1).AND.(A(1,J).EQ.ZERO) ) THEN
|
||||
+ I = 0
|
||||
+ END IF
|
||||
ILASLR = MAX( ILASLR, I )
|
||||
END DO
|
||||
END IF
|
||||
Index: SRC/iladlr.f
|
||||
===================================================================
|
||||
--- SRC/iladlr.f (revision 976)
|
||||
+++ SRC/iladlr.f (revision 977)
|
||||
@@ -53,10 +53,13 @@
|
||||
* Scan up each column tracking the last zero row seen.
|
||||
ILADLR = 0
|
||||
DO J = 1, N
|
||||
- I=M
|
||||
- DO WHILE ((A(I,J).NE.ZERO).AND.(I.GE.1))
|
||||
- I=I-1
|
||||
+ I = M
|
||||
+ DO WHILE ((A(I,J).EQ.ZERO).AND.(I.GT.1))
|
||||
+ I=I-1
|
||||
ENDDO
|
||||
+ IF( (I.EQ.1).AND.(A(1,J).EQ.ZERO) ) THEN
|
||||
+ I = 0
|
||||
+ END IF
|
||||
ILADLR = MAX( ILADLR, I )
|
||||
END DO
|
||||
END IF
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8813ba185727a551f7c2450b96febf0aed7c03d0fc94cd7da5d5b84b180eca0a
|
||||
size 3092598
|
3
lapack-3.4.0.tar.bz2
Normal file
3
lapack-3.4.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:49bca377de0580e128488139184599c5137ec667576fc7cdef325363f84fd24d
|
||||
size 3788300
|
@ -1,3 +1,13 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 16 21:03:58 UTC 2011 - burnus@net-b.de
|
||||
|
||||
- Update to 3.4.0
|
||||
* xGEQRT: QR factorization (improved interface)
|
||||
* xGEQRT3: recursive QR factorization.
|
||||
* xTPQRT: Communication-Avoiding QR sequential kernels.
|
||||
* Bug fixes.
|
||||
* Changes see http://www.netlib.org/lapack/lapack-3.4.0.html
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 9 13:58:10 UTC 2011 - burnus@net-b.de
|
||||
|
||||
|
105
lapack.spec
105
lapack.spec
@ -19,17 +19,15 @@
|
||||
|
||||
|
||||
Name: lapack
|
||||
BuildRequires: gcc-fortran
|
||||
BuildRequires: doxygen gcc-fortran python
|
||||
Summary: Linear Algebra Package
|
||||
Version: 3.3.1
|
||||
Version: 3.4.0
|
||||
Release: 3
|
||||
License: Public Domain, Freeware
|
||||
Group: Development/Libraries/Parallel
|
||||
Source0: lapack-%{version}.tar.bz2
|
||||
Source1: manpages.tar.bz2
|
||||
Source99: lapack-rpmlintrc
|
||||
Patch1: lapack-3.2.2.patch
|
||||
Patch2: ila-bound-fix.patch
|
||||
Url: http://www.netlib.org/lapack/
|
||||
Requires: blas = %{version}
|
||||
Requires: liblapack3 = %{version}
|
||||
@ -151,8 +149,6 @@ Authors:
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1
|
||||
%patch2
|
||||
tar xjf %{S:1}
|
||||
|
||||
%build
|
||||
case "$RPM_ARCH" in
|
||||
@ -165,7 +161,7 @@ make cleanlib
|
||||
make %{?jobs:-j%jobs} blaslib \
|
||||
OPTS="$RPM_OPT_FLAGS -fPIC" \
|
||||
NOOPT="$RPM_OPT_FLAGS -O0 -fPIC"
|
||||
mv blas_LINUX.a libblas_pic.a
|
||||
mv librefblas.a libblas_pic.a
|
||||
mkdir tmp
|
||||
( cd tmp; ar x ../libblas_pic.a )
|
||||
gfortran -shared -Wl,-soname=libblas.so.3 -o libblas.so.%version tmp/*.o
|
||||
@ -186,12 +182,12 @@ if grep -B15 -A15 FAIL BLAS/*.out; then
|
||||
else
|
||||
true # No failures
|
||||
fi
|
||||
mv blas_LINUX.a libblas.a
|
||||
mv librefblas.a libblas.a
|
||||
make cleanlib
|
||||
make %{?jobs:-j%jobs} lapacklib \
|
||||
OPTS="$RPM_OPT_FLAGS -fPIC" \
|
||||
NOOPT="$RPM_OPT_FLAGS -O0 -fPIC"
|
||||
mv lapack_LINUX.a liblapack_pic.a
|
||||
mv liblapack.a liblapack_pic.a
|
||||
mkdir tmp
|
||||
( cd tmp; ar x ../liblapack_pic.a )
|
||||
gfortran -shared -Wl,-soname=liblapack.so.3 -o liblapack.so.%version tmp/*.o -L. -lblas
|
||||
@ -201,7 +197,7 @@ make cleanlib
|
||||
make %{?jobs:-j%jobs} lapacklib \
|
||||
OPTS="$RPM_OPT_FLAGS" \
|
||||
NOOPT="$RPM_OPT_FLAGS -O0"
|
||||
ln -s libblas.a blas_LINUX.a
|
||||
ln -s libblas.a librefblas.a
|
||||
make lapack_testing \
|
||||
OPTS="$RPM_OPT_FLAGS $PRECFLAGS" \
|
||||
NOOPT="$RPM_OPT_FLAGS $PRECFLAGS -O0"
|
||||
@ -213,7 +209,35 @@ if grep -B15 -A15 FAIL TESTING/*.out; then
|
||||
else
|
||||
true # No failures
|
||||
fi
|
||||
mv lapack_LINUX.a liblapack.a
|
||||
# Create man pages - and do some cleanup
|
||||
make man
|
||||
rm -f DOCS/man/man3/*tst*
|
||||
rm -f DOCS/man/man3/TST*
|
||||
rm -f DOCS/man/man3/MYSUB.3
|
||||
rm -f DOCS/man/man3/INSTALL_lsame.f.3
|
||||
rm -f DOCS/man/man3/xerbla.f.3
|
||||
rm -f DOCS/man/man3/xerbla_array.f.3
|
||||
rm -f DOCS/man/man3/*_.3
|
||||
rm -f DOCS/man/man3/dsecnd_*.3
|
||||
rm -f DOCS/man/man3/DSECND.3
|
||||
rm -f DOCS/man/man3/second_*3
|
||||
rm -f DOCS/man/man3/SECOND.3
|
||||
rm -f DOCS/man/man3/LAPACK_version.f.3
|
||||
rm -f DOCS/man/man3/SRC_ilaver.f.3
|
||||
rm -f DOCS/man/man3/SRC_xerbla.f.3
|
||||
rm -f DOCS/man/man3/SRC_xerbla_array.f.3
|
||||
rm -f DOCS/man/man3/SLAMC2.3.gz
|
||||
rm -f DOCS/man/man3/SLAMC3.3.gz
|
||||
rm -f DOCS/man/man3/SLAMC4.3.gz
|
||||
rm -f DOCS/man/man3/SLAMC5.3.gz
|
||||
rm -f DOCS/man/man3/DLAMC2.3.gz
|
||||
rm -f DOCS/man/man3/DLAMC3.3.gz
|
||||
rm -f DOCS/man/man3/DLAMC4.3.gz
|
||||
rm -f DOCS/man/man3/DLAMC5.3.gz
|
||||
mv DOCS/man/man3/BLAS_SRC_lsame.f.3 DOCS/man/man3/lsame.f.3
|
||||
mv DOCS/man/man3/BLAS_SRC_xerbla.f.3 DOCS/man/man3/xerbla.f.3
|
||||
mv DOCS/man/man3/BLAS_SRC_xerbla_array.f.3 DOCS/man/man3/xerbla_array.f.3
|
||||
mv DOCS/man/man3/INSTALL_ilaver.f.3 DOCS/man/man3/ilaver.f.3
|
||||
|
||||
%install
|
||||
install -d $RPM_BUILD_ROOT/%{_libdir}
|
||||
@ -227,29 +251,44 @@ ln -s libblas.so.%version $RPM_BUILD_ROOT/%{_libdir}/libblas.so
|
||||
install -m 755 liblapack.so.%version $RPM_BUILD_ROOT/%{_libdir}
|
||||
ln -s liblapack.so.%version $RPM_BUILD_ROOT/%{_libdir}/liblapack.so.3
|
||||
ln -s liblapack.so.%version $RPM_BUILD_ROOT/%{_libdir}/liblapack.so
|
||||
# remove duplicate manpages
|
||||
rm manpages/man/manl/xerbla.l
|
||||
rm manpages/man/manl/xerbla_array.l
|
||||
rm manpages/man/manl/lsame.l
|
||||
rm manpages/man/manl/zdrot.l
|
||||
rm manpages/man/manl/csrot.l
|
||||
# remove bogus files
|
||||
rm manpages/blas/man/manl/ssyrk.txt_new
|
||||
rm manpages/blas/man/manl/intro_blas1.man
|
||||
# move and rename manpages
|
||||
install -d $RPM_BUILD_ROOT%{_mandir}/man3
|
||||
function CopyFile {
|
||||
NEW_FILENAME=$(basename $1 .l).3
|
||||
install -m 0644 $1 $RPM_BUILD_ROOT%{_mandir}/man3/$NEW_FILENAME
|
||||
}
|
||||
for MANFILE in manpages/blas/man/manl/*.l; do
|
||||
CopyFile $MANFILE
|
||||
done
|
||||
for MANFILE in manpages/man/manl/*.l; do
|
||||
CopyFile $MANFILE
|
||||
done
|
||||
find manpages/blas/man/manl -type f -printf "%{_mandir}/man3/%f\n" | sed -e 's/.l$/.3.gz/' > blasmans
|
||||
find manpages/man/manl -type f -printf "%{_mandir}/man3/%f\n" | sed -e 's/.l$/.3.gz/' > lapackmans
|
||||
install -m 0644 DOCS/man/man3/*.3 $RPM_BUILD_ROOT%{_mandir}/man3/
|
||||
find BLAS/SRC/ -name \*.f -type f -printf "%{_mandir}/man3/%f.3.gz\n" \
|
||||
> blasmans
|
||||
find BLAS/SRC/ -name \*.f -type f -printf "%f\n" \
|
||||
| tr 'a-z' 'A-Z' |sed -e 's#\(.*\).F#'%{_mandir}/man3/'\1.3.gz#' \
|
||||
>> blasmans
|
||||
find SRC/ -name \*.f -type f -printf "%{_mandir}/man3/%f.3.gz\n" \
|
||||
| grep -v -E 'lsame.f|sceil.f|xerbla.f|xerbla_array.f' \
|
||||
| sort -u > lapackmans
|
||||
find SRC/ -name \*.f -type f -printf "%f\n" \
|
||||
| grep -v -E 'sceil.f|xerbla.f|xerbla_array.f' \
|
||||
| tr 'a-z' 'A-Z' |sed -e 's#\(.*\).F#'%{_mandir}/man3/'\1.3.gz#' \
|
||||
| sort -u >> lapackmans
|
||||
echo %{_mandir}/man3/SLAMC1.3.gz >> lapackmans
|
||||
echo %{_mandir}/man3/SLAMC2.3.gz >> lapackmans
|
||||
echo %{_mandir}/man3/SLAMC3.3.gz >> lapackmans
|
||||
echo %{_mandir}/man3/SLAMC4.3.gz >> lapackmans
|
||||
echo %{_mandir}/man3/SLAMC5.3.gz >> lapackmans
|
||||
echo %{_mandir}/man3/SLAMCH.3.gz >> lapackmans
|
||||
echo %{_mandir}/man3/DLAMC1.3.gz >> lapackmans
|
||||
echo %{_mandir}/man3/DLAMC2.3.gz >> lapackmans
|
||||
echo %{_mandir}/man3/DLAMC3.3.gz >> lapackmans
|
||||
echo %{_mandir}/man3/DLAMC4.3.gz >> lapackmans
|
||||
echo %{_mandir}/man3/DLAMC5.3.gz >> lapackmans
|
||||
echo %{_mandir}/man3/DLAMCH.3.gz >> lapackmans
|
||||
echo %{_mandir}/man3/slamch.f.3.gz >> lapackmans
|
||||
echo %{_mandir}/man3/slamchf77.f.3.gz >> lapackmans
|
||||
echo %{_mandir}/man3/dlamch.f.3.gz >> lapackmans
|
||||
echo %{_mandir}/man3/dlamchf77.f.3.gz >> lapackmans
|
||||
ln -s SLAMC1.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/SLAMC2.3.gz
|
||||
ln -s SLAMC1.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/SLAMC4.3.gz
|
||||
ln -s SLAMC1.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/SLAMC5.3.gz
|
||||
ln -s SLAMCH.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/SLAMC3.3.gz
|
||||
ln -s DLAMC1.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/DLAMC2.3.gz
|
||||
ln -s DLAMC1.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/DLAMC4.3.gz
|
||||
ln -s DLAMC1.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/DLAMC5.3.gz
|
||||
ln -s DLAMCH.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/DLAMC3.3.gz
|
||||
|
||||
%post -n libblas3 -p /sbin/ldconfig
|
||||
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:18ea32f5d93732ffe6e033b3f8d10a1c31ec04ecaec1443ab1859bac71acc496
|
||||
size 691541
|
Loading…
x
Reference in New Issue
Block a user