lapack 3.1.0

This commit is contained in:
Tom Callaway 2006-12-20 21:34:41 +00:00
parent 911fc3f2c7
commit 094d2b21cf
4 changed files with 101 additions and 45 deletions

View File

@ -2,3 +2,4 @@ lapack.tar.bz2
manpages.tar.bz2 manpages.tar.bz2
manpages.tgz manpages.tgz
lapack.tgz lapack.tgz
lapack-3.1.0.tgz

View File

@ -0,0 +1,29 @@
--- lapack-3.1.0/make.inc.BAD 2006-11-14 15:58:41.000000000 -0600
+++ lapack-3.1.0/make.inc 2006-11-14 16:00:03.000000000 -0600
@@ -10,7 +10,7 @@
#
# The machine (platform) identifier to append to the library names
#
-PLAT = _LINUX
+PLAT =
#
# Modify the FORTRAN and OPTS definitions to refer to the
# compiler and desired compiler options for your machine. NOOPT
@@ -18,12 +18,13 @@
# selected. Define LOADER and LOADOPTS to refer to the loader and
# desired load options for your machine.
#
-FORTRAN = g77
-OPTS = -funroll-all-loops -O3 -Wimplicit -Wno-globals -Wunused
+FORTRAN = gfortran
+#OPTS = -funroll-all-loops -O3 -Wimplicit -Wno-globals -Wunused
#OPTS = -O0 -g -Wall
DRVOPTS = $(OPTS)
-NOOPT = -Wimplicit -Wno-globals -Wunused
-LOADER = g77
+# NOOPT = -Wimplicit -Wno-globals -Wunused
+NOOPT =
+LOADER = gfortran
LOADOPTS =
#
# The archiver and the flag(s) to use when building archive (library)

View File

@ -1,22 +1,21 @@
Summary: The LAPACK libraries for numerical linear algebra. Summary: The LAPACK libraries for numerical linear algebra.
Name: lapack Name: lapack
Version: 3.0 Version: 3.1.0
Release: 38%{?dist} Release: 1%{?dist}
License: Freely distributable License: Freely distributable
Group: Development/Libraries Group: Development/Libraries
URL: http://www.netlib.org/lapack/ URL: http://www.netlib.org/lapack/
Source0: http://www.netlib.org/lapack/lapack.tgz Source0: http://www.netlib.org/lapack/lapack-%{version}.tgz
Source1: http://www.netlib.org/lapack/manpages.tgz
Source2: Makefile.blas Source2: Makefile.blas
Source3: Makefile.lapack Source3: Makefile.lapack
Source4: http://www.netlib.org/lapack/lapackqref.ps Source4: http://www.netlib.org/lapack/lapackqref.ps
Source5: http://www.netlib.org/blas/blasqr.ps Source5: http://www.netlib.org/blas/blasqr.ps
Patch0: lapack-20010525.patch
Patch1: blas-bz143340.patch Patch1: blas-bz143340.patch
Patch2: lapack-fixlwork.patch Patch2: lapack-fixlwork.patch
Patch3: lapack-3.1.0-make.inc.patch
Obsoletes: lapack-man Obsoletes: lapack-man
BuildRequires: gcc-gfortran BuildRequires: gcc-gfortran
BuildRoot: %{_tmppath}/lapack-%{version}-root BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%description %description
LAPACK (Linear Algebra PACKage) is a standard library for numerical LAPACK (Linear Algebra PACKage) is a standard library for numerical
@ -58,13 +57,13 @@ Requires: blas = %{version}-%{release}
BLAS development libraries for applications that link statically. BLAS development libraries for applications that link statically.
%prep %prep
%setup -q -n LAPACK %setup -q
%setup -q -D -T -a 1 -n LAPACK %setup -q -D -T
%patch0 -p1
# Adds 8 missing BLAS functions from upstream tarball # Adds 8 missing BLAS functions from upstream tarball
%patch1 -p1 %patch1 -p1
# Fix Bugzilla 169558 # Fix Bugzilla 169558
%patch2 -p1 # %patch2 -p1
%patch3 -p1
cp -f $RPM_SOURCE_DIR/Makefile.blas BLAS/SRC/Makefile cp -f $RPM_SOURCE_DIR/Makefile.blas BLAS/SRC/Makefile
cp -f $RPM_SOURCE_DIR/Makefile.lapack SRC/Makefile cp -f $RPM_SOURCE_DIR/Makefile.lapack SRC/Makefile
@ -72,36 +71,63 @@ cp -f $RPM_SOURCE_DIR/Makefile.lapack SRC/Makefile
rm -f man/manl/zbcon.l rm -f man/manl/zbcon.l
%build %build
cd BLAS/SRC
RPM_OPT_O_FLAGS=$(echo $RPM_OPT_FLAGS | sed 's|-O2|-O0|') RPM_OPT_O_FLAGS=$(echo $RPM_OPT_FLAGS | sed 's|-O2|-O0|')
export FC=gfortran export FC=gfortran
# Build BLAS
pushd BLAS/SRC
FFLAGS="$RPM_OPT_O_FLAGS" make dcabs1.o FFLAGS="$RPM_OPT_O_FLAGS" make dcabs1.o
FFLAGS="$RPM_OPT_FLAGS" make static FFLAGS="$RPM_OPT_FLAGS" make static
cp libblas.a ../.. cp libblas.a ${RPM_BUILD_DIR}/%{name}-%{version}/
make clean make clean
FFLAGS="$RPM_OPT_O_FLAGS -fPIC" make dcabs1.o FFLAGS="$RPM_OPT_O_FLAGS -fPIC" make dcabs1.o
FFLAGS="$RPM_OPT_FLAGS -fPIC" make shared FFLAGS="$RPM_OPT_FLAGS -fPIC" make shared
cp libblas.so.3.0.3 ../.. cp libblas.so.3.1.0 ${RPM_BUILD_DIR}/%{name}-%{version}/
cd ../.. popd
ln -s libblas.so.3.0.3 libblas.so
ln -s libblas.so.3.1.0 libblas.so
cd SRC
# Some files don't like -O2, but -Os is fine # Some files don't like -O2, but -Os is fine
RPM_OPT_SIZE_FLAGS=$(echo $RPM_OPT_FLAGS | sed 's|-O2|-Os|') RPM_OPT_SIZE_FLAGS=$(echo $RPM_OPT_FLAGS | sed 's|-O2|-Os|')
FFLAGS="$RPM_OPT_SIZE_FLAGS" make dlamch.o slamch.o dgeev.o
FFLAGS="$RPM_OPT_FLAGS" make static
cp liblapack.a .. # Build the static dlamch, dsecnd, lsame, second, slamch bits
make clean pushd INSTALL
FFLAGS="$RPM_OPT_SIZE_FLAGS -fPIC" make dlamch.o slamch.o dgeev.o make NOOPT="$RPM_OPT_SIZE_FLAGS" OPTS="$RPM_OPT_FLAGS" dlamch.o dsecnd.o lsame.o second.o slamch.o
FFLAGS="$RPM_OPT_FLAGS -fPIC" make shared popd
cp liblapack.so.3.0.3 ..
make clean # Build the static lapack library
FFLAGS="$RPM_OPT_SIZE_FLAGS -fPIC" make dlamch.o slamch.o dgeev.o pushd SRC
FFLAGS="$RPM_OPT_FLAGS -fPIC" make static make FFLAGS="$RPM_OPT_FLAGS" static
cp liblapack.a ../liblapack_pic.a cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/
popd
# Build the shared dlamch, dsecnd, lsame, second, slamch bits
pushd INSTALL
make clean
make NOOPT="$RPM_OPT_SIZE_FLAGS -fPIC" OPTS="$RPM_OPT_FLAGS -fPIC" \
dlamch.o dsecnd.o lsame.o second.o slamch.o
popd
# Build the shared lapack library
pushd SRC
make FFLAGS="$RPM_OPT_FLAGS -fPIC" shared
cp liblapack.so.3.1.0 ${RPM_BUILD_DIR}/%{name}-%{version}/
popd
# Buuld the static with pic dlamch, dsecnd, lsame, second, slamch bits
pushd INSTALL
make clean
make NOOPT="$RPM_OPT_SIZE_FLAGS -fPIC" OPTS="$RPM_OPT_FLAGS -fPIC" \
dlamch.o dsecnd.o lsame.o second.o slamch.o
popd
# Build the static with pic lapack library
pushd SRC
make FFLAGS="$RPM_OPT_FLAGS -fPIC" static
cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack_pic.a
popd
cd ..
cp %{SOURCE4} lapackqref.ps cp %{SOURCE4} lapackqref.ps
cp %{SOURCE5} blasqr.ps cp %{SOURCE5} blasqr.ps
@ -110,27 +136,27 @@ rm -fr ${RPM_BUILD_ROOT}
mkdir -p ${RPM_BUILD_ROOT}%{_libdir} mkdir -p ${RPM_BUILD_ROOT}%{_libdir}
mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/manl mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/manl
for f in liblapack.so.3.0.3 libblas.so.3.0.3 libblas.a liblapack.a liblapack_pic.a; do for f in liblapack.so.3.1.0 libblas.so.3.1.0 libblas.a liblapack.a liblapack_pic.a; do
cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f
done done
find blas/man/manl -type f -printf "%{_mandir}/manl/%f*\n" > blasmans find manpages/blas/man/manl -type f -printf "%{_mandir}/manl/%f*\n" > blasmans
# These are also in the BLAS package # These are also in the BLAS package
rm -f man/manl/lsame.l* rm -f manpages/man/manl/lsame.l*
rm -f man/manl/xerbla.l* rm -f manpages/man/manl/xerbla.l*
find man/manl -type f -printf "%{_mandir}/manl/%f*\n" > lapackmans find manpages/man/manl -type f -printf "%{_mandir}/manl/%f*\n" > lapackmans
cp -f blas/man/manl/* ${RPM_BUILD_ROOT}%{_mandir}/manl cp -f manpages/blas/man/manl/* ${RPM_BUILD_ROOT}%{_mandir}/manl
cp -f man/manl/* ${RPM_BUILD_ROOT}%{_mandir}/manl cp -f manpages/man/manl/* ${RPM_BUILD_ROOT}%{_mandir}/manl
cd ${RPM_BUILD_ROOT}%{_libdir} cd ${RPM_BUILD_ROOT}%{_libdir}
ln -sf liblapack.so.3.0.3 liblapack.so ln -sf liblapack.so.3.1.0 liblapack.so
ln -sf liblapack.so.3.0.3 liblapack.so.3 ln -sf liblapack.so.3.1.0 liblapack.so.3
ln -sf liblapack.so.3.0.3 liblapack.so.3.0 ln -sf liblapack.so.3.1.0 liblapack.so.3.1
ln -sf libblas.so.3.0.3 libblas.so ln -sf libblas.so.3.1.0 libblas.so
ln -sf libblas.so.3.0.3 libblas.so.3 ln -sf libblas.so.3.1.0 libblas.so.3
ln -sf libblas.so.3.0.3 libblas.so.3.0 ln -sf libblas.so.3.1.0 libblas.so.3.1
%post -p /sbin/ldconfig %post -p /sbin/ldconfig
@ -164,6 +190,9 @@ rm -fr ${RPM_BUILD_ROOT}
%{_libdir}/libblas*.a %{_libdir}/libblas*.a
%changelog %changelog
* Tue Nov 14 2006 Tom "spot" Callaway <tcallawa@redhat.com> 3.1.0-1
- bump to 3.1.0
* Thu Sep 14 2006 Tom "spot" Callaway <tcallawa@redhat.com> 3.0-38 * Thu Sep 14 2006 Tom "spot" Callaway <tcallawa@redhat.com> 3.0-38
- bump for fc-6 - bump for fc-6

View File

@ -1,4 +1 @@
ded96a1a7434fca5c311b3b137963472 lapack.tar.bz2 0ff8c5d81117163376875343e64d04a1 lapack-3.1.0.tgz
fb96dfdcbffad22dd7fa29872f326cbf manpages.tar.bz2
50efab6cd73a9429584f7f1537f1727f manpages.tgz
a24f59304f87b78cdc7da2ae59c98664 lapack.tgz