rpms/atlas/devel README.Fedora,1.1,1.2 atlas.spec,1.1,1.2
Quentin Spencer (qspencer)
fedora-extras-commits at redhat.com
Wed Oct 5 17:09:27 UTC 2005
Author: qspencer
Update of /cvs/extras/rpms/atlas/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv3087
Modified Files:
README.Fedora atlas.spec
Log Message:
Update to newest patch from Debian that fixes shared lib problem with
gcc 4. Many other minor fixes.
Index: README.Fedora
===================================================================
RCS file: /cvs/extras/rpms/atlas/devel/README.Fedora,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- README.Fedora 4 Oct 2005 19:13:36 -0000 1.1
+++ README.Fedora 5 Oct 2005 17:09:24 -0000 1.2
@@ -1,7 +1,7 @@
Notes on the Fedora Extras version of ATLAS
by Quentin Spencer
-updated: September 12, 2005
+updated: October 4, 2005
Because ATLAS relies on compile-time optimizations to obtain improved
@@ -15,10 +15,11 @@
significant performance penalties for users using the same package on
older hardware. Second, building from the same source package must
result in identical binaries for any computer of a particular
-architecture. This is because the Fedora Extras build system has
-multiple computers for building i386 packages, and it is not possible
-to know the hardware specifications of the computer that will be
-handling a given build request when it is submitted.
+architecture. This is because the binaries installed on a user's
+computer are built on a computer in the Fedora Extras build system,
+which will have hardware different from the end user's hardware, and
+quite possibly different from other available hardware in the build
+system.
The Debian project was probably the first to distribute precompiled
ATLAS libraries. Camm Maguire, the creator of the Debian ATLAS
@@ -62,12 +63,3 @@
empirical tests instead of simply replaying a previous build, the
compilation time will be considerably longer, and can require several
hours to complete, depending on the hardware.
-
-
-The 3.6.0 release of ATLAS will not compile shared libraries for the
-i386 architecture extensions (sse, sse2, 3dnow) when using the gcc
-4.0.x compiler included in Fedora Core 4. For this reason, the
-package currently provides only base i386 shared libraries, but
-provides static libraries for the extensions. It appears that the
-problem will not be resolved until the 3.8.0 release of ATLAS, and
-there is currently no indication of how soon that can be expected.
Index: atlas.spec
===================================================================
RCS file: /cvs/extras/rpms/atlas/devel/atlas.spec,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- atlas.spec 4 Oct 2005 19:13:36 -0000 1.1
+++ atlas.spec 5 Oct 2005 17:09:24 -0000 1.2
@@ -1,15 +1,15 @@
Name: atlas
Version: 3.6.0
-Release: 6
+Release: 6%{?dist}
Summary: Automatically Tuned Linear Algebra Software
Group: System Environment/Libraries
License: BSD
URL: http://math-atlas.sourceforge.net/
Source0: http://prdownloads.sourceforge.net/math-atlas/%{name}%{version}.tar.bz2
-Source1: README.Fedora
-Patch0: http://ftp.debian.org/debian/pool/main/a/atlas3/%{name}3_%{version}-19.diff.gz
-Patch1: %{name}-%{version}-gfortran.patch
+Source1: README.Fedora
+Patch0: http://ftp.debian.org/debian/pool/main/a/atlas3/%{name}3_%{version}-20.diff.gz
+Patch1: %{name}-%{version}-gfortran.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: /etc/ld.so.conf.d
@@ -27,14 +27,14 @@
Fortran77 interfaces to a portably efficient BLAS implementation, as
well as a few routines from LAPACK.
-The performance improvements in ATLAS are largely obtained via
+The performance improvements in ATLAS are obtained largely via
compile-time optimizations and tend to be specific to a given hardware
configuration. In order to package ATLAS for Fedora some compromises
-were necessary so that good performance can be obtained on a variety
+are necessary so that good performance can be obtained on a variety
of hardware. This set of ATLAS binary packages is therefore not
-necessarily optimal for specific hardware. However, the source
-package can be used to compile customized ATLAS packages--see the
-documentation for information.
+necessarily optimal for any specific hardware configuration. However,
+the source package can be used to compile customized ATLAS packages;
+see the documentation for information.
@@ -204,9 +204,9 @@
make startup arch=$BUILD_DIR
if [ "$TYPE" = "custom" ]; then
- BUILD_DATA_DIR=custom_%{archt}
- if [ -a $BUILD_DATA_DIR.tgz ]; then
- tar zxf $BUILD_DATA_DIR.tgz
+ BUILD_DATA_DIR=atlas-$TYPE-%{archt}
+ if [ -a %{_sourcedir}/$BUILD_DATA_DIR.tgz ]; then
+ tar zxf %{_sourcedir}/$BUILD_DATA_DIR.tgz
else
make install arch=$BUILD_DIR >out 2>&1 &
pid=$!
@@ -228,7 +228,7 @@
cp tune/blas/ger/$BUILD_DIR/res/* ${BUILD_DATA_DIR}/r1
mkdir -p ${BUILD_DATA_DIR}/l1
cp tune/blas/level1/$BUILD_DIR/res/* ${BUILD_DATA_DIR}/l1
- tar zcf ${BUILD_DATA_DIR}.tgz ${BUILD_DATA_DIR}
+ tar zcf %{_sourcedir}/${BUILD_DATA_DIR}.tgz ${BUILD_DATA_DIR}
fi
else
BUILD_DATA_DIR=debian/%{archt}/${TYPE}
@@ -266,17 +266,13 @@
ar r lib/$BUILD_DIR/liblapack.a tmp/*.o
rm -rf tmp
-
- ## Shared libs are currently broken for SIMD extensions with gcc 4.
- ## Until this is fixed, the following is only performed for "base".
- if [ "$TYPE" = "base" ] ; then
########## Shared Libraries ##########################################
BUILD_DIR=Linux_${TYPE}_shared
ARCH_DIR=$BUILD_DIR CACHE_SIZE= BIT=%{bit} \
DEFAULTS=y TDNCOMP=$TDN debian/config.expect
cat Make.$BUILD_DIR |\
sed -e "s, TOPdir = \(.*\), TOPdir = `pwd`,1" \
- -e "s, FLAPACKlib = , FLAPACKlib = %{_libdir}/liblapack.a,1" \
+ -e "s, FLAPACKlib = , FLAPACKlib = %{_libdir}/liblapack_pic.a,1" \
-e "s, F77FLAGS = \(.*\), F77FLAGS = \1 -fPIC,1" \
-e "s, CCFLAGS = \(.*\), CCFLAGS = \1 -fPIC,1" \
-e "s, MMFLAGS = \(.*\), MMFLAGS = \1 -fPIC,1" \
@@ -367,44 +363,36 @@
ln -s liblapack.so.%{ver} lib/$BUILD_DIR/liblapack.so.%{ver_major}
ln -s liblapack.so.%{ver} lib/$BUILD_DIR/liblapack.so
rm -rf tmp
- fi
done
%install
rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
+mkdir -p $RPM_BUILD_ROOT%{_includedir}/atlas
+cp -a include/*.h $RPM_BUILD_ROOT%{_includedir}/atlas
+
+LIBNAMES="libatlas libcblas libf77blas liblapack_atlas libblas liblapack"
for TYPE in %{types}; do
- EXTDIR=$TYPE
if [ "$TYPE" = "base" ]; then
- EXTDIR=""
+ EXTDIR="atlas"
+ echo "%{_libdir}/atlas" \
+ > $RPM_BUILD_ROOT/etc/ld.so.conf.d/atlas-%{_arch}.conf
+ elif [ "$TYPE" = "custom" ]; then
+ EXTDIR="atlas-custom"
+ echo "%{_libdir}/atlas-custom" \
+ > $RPM_BUILD_ROOT/etc/ld.so.conf.d/atlas-custom-%{_arch}.conf
+ else
+ EXTDIR=$TYPE
fi
mkdir -p $RPM_BUILD_ROOT%{_libdir}/${EXTDIR}
- mkdir -p $RPM_BUILD_ROOT%{_libdir}/atlas/${EXTDIR}
- for LIB in libblas liblapack; do
- if [ "$TYPE" = "base" ]; then
- LIBS="lib/Linux_${TYPE}_static/$LIB.a lib/Linux_${TYPE}_shared/$LIB.so*"
- else
- LIBS="lib/Linux_${TYPE}_static/$LIB.a"
- fi
- cp -a $LIBS ${RPM_BUILD_ROOT}%{_libdir}/atlas/${EXTDIR}
- done
- for LIB in libatlas libcblas libf77blas liblapack_atlas; do
- if [ "$TYPE" = "base" ]; then
- LIBS="lib/Linux_${TYPE}_static/$LIB.a lib/Linux_${TYPE}_shared/$LIB.so*"
- else
- LIBS="lib/Linux_${TYPE}_static/$LIB.a"
- fi
+ for LIB in $LIBNAMES; do
+ LIBS="lib/Linux_${TYPE}_static/$LIB.a lib/Linux_${TYPE}_shared/$LIB.so*"
cp -a $LIBS ${RPM_BUILD_ROOT}%{_libdir}/${EXTDIR}
done
done
-mkdir -p $RPM_BUILD_ROOT%{_includedir}/atlas
-cp -a include/*.h $RPM_BUILD_ROOT%{_includedir}/atlas
-
-mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
-echo "%{_libdir}/atlas" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/atlas-%{_arch}.conf
-
%clean
@@ -414,29 +402,48 @@
%postun -p /sbin/ldconfig
+%ifarch i386
+
+%post -n atlas-sse -p /sbin/ldconfig
+%postun -n atlas-sse -p /sbin/ldconfig
+
+%post -n atlas-sse2 -p /sbin/ldconfig
+
+%postun -n atlas-sse2 -p /sbin/ldconfig
+
+%post -n atlas-3dnow -p /sbin/ldconfig
+
+%postun -n atlas-3dnow -p /sbin/ldconfig
+
+%endif
+%ifarch ppc
+
+%post -n atlas-altivec -p /sbin/ldconfig
+
+%postun -n atlas-altivec -p /sbin/ldconfig
+
+%endif
%if "%{?enable_custom_atlas}" == "1"
-#%files custom
-#%defattr(-,root,root,-)
-#%doc debian/copyright doc/README.Fedora
-#%dir %{_libdir}/custom
-#%dir %{_libdir}/atlas/custom
-#%{_libdir}/custom/*.so.*
-#%{_libdir}/atlas/custom/*.so.*
-#%config(noreplace) /etc/ld.so.conf.d/atlas-custom-%{_arch}.conf
+%post -n atlas-custom -p /sbin/ldconfig
+
+%postun -n atlas-custom -p /sbin/ldconfig
+
+%files custom
+%defattr(-,root,root,-)
+%doc debian/copyright doc/README.Fedora
+%dir %{_libdir}/atlas-custom
+%{_libdir}/atlas-custom/*.so.*
+%config(noreplace) /etc/ld.so.conf.d/atlas-custom-%{_arch}.conf
%files custom-devel
%defattr(-,root,root,-)
%doc debian/copyright doc
-%dir %{_libdir}/custom
-%dir %{_libdir}/atlas/custom
-#%{_libdir}/custom/*.{a,so}
-%{_libdir}/custom/*.a
-#%{_libdir}/atlas/custom/*.{a,so}
-%{_libdir}/atlas/custom/*.a
+%dir %{_libdir}/atlas-custom
+%{_libdir}/atlas-custom/*.so
+%{_libdir}/atlas-custom/*.a
%{_includedir}/atlas
-%exclude /etc/ld.so.conf.d/*
%else
@@ -445,105 +452,81 @@
%defattr(-,root,root,-)
%doc debian/copyright doc/README.Fedora
%dir %{_libdir}/atlas
-%{_libdir}/*.so.*
-%{_libdir}/*/*.so.*
-#%{_libdir}/atlas/*/*.so.*
+%{_libdir}/atlas/*.so.*
%config(noreplace) /etc/ld.so.conf.d/atlas-%{_arch}.conf
%files devel
%defattr(-,root,root,-)
%doc debian/copyright doc
-%{_libdir}/*.a
-%{_libdir}/*.so
-%{_libdir}/atlas/*.a
%{_libdir}/atlas/*.so
+%{_libdir}/atlas/*.a
%{_includedir}/atlas
%ifarch i386
-#%files sse
-#%defattr(-,root,root,-)
-#%doc debian/copyright doc/README.Fedora
-#%dir %{_libdir}/sse
-#%dir %{_libdir}/atlas/sse
-#%{_libdir}/sse/*.so.*
-#%{_libdir}/atlas/sse/*.so.*
-#%config(noreplace) /etc/ld.so.conf.d/atlas-sse-%{_arch}.conf
+%files sse
+%defattr(-,root,root,-)
+%doc debian/copyright doc/README.Fedora
+%dir %{_libdir}/sse
+%{_libdir}/sse/*.so.*
+#%config(noreplace) /etc/ld.so.conf.d/atlas-sse.conf
%files sse-devel
%defattr(-,root,root,-)
%doc debian/copyright doc
%dir %{_libdir}/sse
-%dir %{_libdir}/atlas/sse
-#%{_libdir}/sse/*.so
+%{_libdir}/sse/*.so
%{_libdir}/sse/*.a
-#%{_libdir}/atlas/sse/*.so
-%{_libdir}/atlas/sse/*.a
%{_includedir}/atlas
-#%files sse2
-#%defattr(-,root,root,-)
-#%doc debian/copyright doc/README.Fedora
-#%dir %{_libdir}/sse2
-#%dir %{_libdir}/atlas/sse2
-#%{_libdir}/sse2/*.so.*
-#%{_libdir}/atlas/sse2/*.so.*
-#%config(noreplace) /etc/ld.so.conf.d/atlas-sse2-%{_arch}.conf
+%files sse2
+%defattr(-,root,root,-)
+%doc debian/copyright doc/README.Fedora
+%dir %{_libdir}/sse2
+%{_libdir}/sse2/*.so.*
+#%config(noreplace) /etc/ld.so.conf.d/atlas-sse2.conf
%files sse2-devel
%defattr(-,root,root,-)
%doc debian/copyright doc
%dir %{_libdir}/sse2
-%dir %{_libdir}/atlas/sse2
-#%{_libdir}/sse2/*.so
+%{_libdir}/sse2/*.so
%{_libdir}/sse2/*.a
-#%{_libdir}/atlas/sse2/*.so
-%{_libdir}/atlas/sse2/*.a
%{_includedir}/atlas
-#%files 3dnow
-#%defattr(-,root,root,-)
-#%doc debian/copyright doc/README.Fedora
-#%dir %{_libdir}/3dnow
-#%dir %{_libdir}/atlas/3dnow
-#%{_libdir}/3dnow/*.so.*
-#%{_libdir}/atlas/3dnow/*.so.*
-#%config(noreplace) /etc/ld.so.conf.d/atlas-3dnow-%{_arch}.conf
+%files 3dnow
+%defattr(-,root,root,-)
+%doc debian/copyright doc/README.Fedora
+%dir %{_libdir}/3dnow
+%{_libdir}/3dnow/*.so.*
+#%config(noreplace) /etc/ld.so.conf.d/atlas-3dnow.conf
%files 3dnow-devel
%defattr(-,root,root,-)
%doc debian/copyright doc
%dir %{_libdir}/3dnow
-%dir %{_libdir}/atlas/3dnow
-#%{_libdir}/3dnow/*.so
+%{_libdir}/3dnow/*.so
%{_libdir}/3dnow/*.a
-#%{_libdir}/atlas/3dnow/*.so
-%{_libdir}/atlas/3dnow/*.a
%{_includedir}/atlas
%endif
%ifarch ppc
-#%files altivec
-#%defattr(-,root,root,-)
-#%doc debian/copyright doc/README.Fedora
-#%dir %{_libdir}/altivec
-#%dir %{_libdir}/atlas/altivec
-#%{_libdir}/altivec/*.so.*
-#%{_libdir}/atlas/altivec/*.so.*
-#%config(noreplace) /etc/ld.so.conf.d/atlas-altivec-%{_arch}.conf
+%files altivec
+%defattr(-,root,root,-)
+%doc debian/copyright doc/README.Fedora
+%dir %{_libdir}/altivec
+%{_libdir}/altivec/*.so.*
+#%config(noreplace) /etc/ld.so.conf.d/atlas-altivec.conf
%files altivec-devel
%defattr(-,root,root,-)
%doc debian/copyright doc
%dir %{_libdir}/altivec
-%dir %{_libdir}/atlas/altivec
-#%{_libdir}/altivec/*.so
+%{_libdir}/altivec/*.so
%{_libdir}/altivec/*.a
-#%{_libdir}/atlas/altivec/*.so
-%{_libdir}/atlas/altivec/*.a
%{_includedir}/atlas
%endif
@@ -552,7 +535,12 @@
%changelog
* Tue Oct 04 2005 Quentin Spencer <qspencer at users.sourceforge.net> 3.6.0-6
-- Fix buildroot, minor updates to description.
+- Use new Debian patch, and enable shared libs (they previously failed
+ to build on gcc 4).
+- Minor updates to description and README.Fedora file.
+- Fix buildroot name to match FE preferred form.
+- Fixes for custom optimized builds.
+- Add dist tag.
* Wed Sep 28 2005 Quentin Spencer <qspencer at users.sourceforge.net> 3.6.0-5
- fix files lists.
More information about the fedora-extras-commits
mailing list