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