Spec Name or Url: http://webpages.charter.net/qspencer/rpm/atlas.spec SRPM Name or Url: http://webpages.charter.net/qspencer/rpm/atlas-3.6.0-1.src.rpm Description: The ATLAS (Automatically Tuned Linear Algebra Software) project is an ongoing research effort focusing on applying empirical techniques in order to provide portable performance. At present, it provides C and Fortran77 interfaces to a portably efficient BLAS implementation, as well as a few routines from LAPACK. Notes: This package provides replacements for the default blas and lapack libraries that should be substantially faster. A simple verification of speed improvement can be obtained using Octave with the following command: echo "X=randn(500); t=cputime; Y=X'*X; disp(cputime-t); exit" | octave -q On my system without atlas installed, I obtain this result: 0.52092 After running "rpm -i atlas-3.6.0-1.i386.rpm", I get: 0.15398 This is a 3x speedup that is obtained on base i386 architecture without any SIMD extensions. The package creates static libraries for sse, sse2, and 3dnow, but shared libraries for those are currently broken with gcc 4. Because ATLAS is based on compile-time optimizations, distributing a package like ATLAS in binary format is a challenging problem. The Debian approach to this seems to make the most sense, so I'm using the Debian patches directly in the build process in order to avoid duplication of effort. See the document atlas_fedora_notes.txt for a more detailed explanation of the build scheme and discussion of the reasons for it.
I am not able to build it using mock on x86_64, or this is not supposed to be build in a x86_64 environment? This is the error message: Enter f77 compiler [g77]: /usr/bin/gfortran^J Enter F77 Flags [-fomit-frame-pointer -O -m32]: ^JF77 & FLAGS: /usr/bin/gfortran -fomit-frame-pointer -O -m3 2 FLINKER & FLAGS: $(F77) $(F77FLAGS) Compiling with = 'gcc -fomit-frame-pointer -O -mfpmath=387 -m32' doesn't seem to work for me. Enter 1 to try different CC/flags, 0 to continue anyway [1]: error: Bad exit status from /var/tmp/rpm-tmp.96529 (%build)
This should compile on x86_64, but I hadn't tested it before. The only x86_64 system I have access to is FC3, which is pre GCC4, so I can't really debug this. It seems that the problem is that it is incorrectly trying 32-bit flags. Could you send me the complete build log so I can see what it did to get to this point?
I believe I have found the problem and updated the spec and SRPM files: http://webpages.charter.net/qspencer/rpm/
I am sorry but it has failed again. :-( The good news is that the problem seems the same as before. I will send you the build-log privately.
It seems I fixed the problem for the portion of the code where static libraries are built, but not for the subsequent shared library build. This should be fixed now, and updated files have been posted.
Now it fails almost in the end. I have sent you the build.log but the relevant lines are here: /usr/bin/ld: tmp/cbdsqr.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC tmp/cbdsqr.o: could not read symbols: Bad value collect2: ld returned 1 exit status
It appears this problem is caused by the fact that the LAPACK library that is being used was not compiled with the PIC flag. I have proposed changes to the lapack package, and the maintainer has requested a new build of lapack. Some minor changes to atlas.spec were also necessary. The updated files have been uploaded, but in order to compile them, you will need install the new lapack-devel, which will probably be released to the mirrors by tomorrow (or you can get it now from the build system).
Things are improving. :-) Now it fails like this: + ar x /usr/lib64/liblapack_pic.a ar: /usr/lib64/liblapack_pic.a: No such file or directory
OK, the problem is again with the LAPACK library. The new lapack.spec compiles, but doesn't install the liblapack_pic.a library. I have sent a patch to the maintainer, and this should now work properly with lapack-3.0-31 when it is released.
Review for release 5: * RPM name is OK * Source atlas3.6.0.tar.bz2 is the same as upstream * This is the latest version * The license is correct, and it is included in the package * Builds fine in mock * rpmlint of atlas looks OK * rpmlint of atlas-devel looks OK * File list of atlas looks OK * File list of atlas-devel looks OK Needs work: * BuildRoot should be %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) (wiki: PackagingGuidelines#BuildRoot) * Missing SMP flags. If it doesn't build with it, please add a comment (wiki: PackagingGuidelines#parallelmake) Approved. You can fix the remaining problems after importing the package.
A successful build has just completed on devel. A FC-4 branch has been requested.
Package Change Request ====================== Package Name: atlas New Branches: EL-5 Owners: deji
cvs done.