diff --git a/atlas-fedora_shared.patch b/atlas-fedora_shared.patch index aa5bc34..588482f 100644 --- a/atlas-fedora_shared.patch +++ b/atlas-fedora_shared.patch @@ -1,5 +1,5 @@ --- makes/Make.lib 2008-06-06 20:57:46.000000000 -0400 -+++ makes/Make.lib.new 2008-09-01 11:12:11.000000000 -0400 ++++ makes/Make.lib.new 2008-12-17 02:01:13.000000000 -0500 @@ -3,6 +3,8 @@ # # override with libatlas.so only when atlas is built to one lib @@ -9,7 +9,7 @@ DYNlibs = liblapack.so libf77blas.so libcblas.so libatlas.so PTDYNlibs = liblapack.so libptf77blas.so libptcblas.so libatlas.so CDYNlibs = liblapack.so libcblas.so libatlas.so -@@ -32,38 +34,63 @@ +@@ -32,38 +34,72 @@ mv $(tarnam).tar.gz $(tarnam).tgz ptshared : @@ -38,49 +38,63 @@ libatlas.so : libatlas.a - ld $(LDFLAGS) -shared -soname libatlas.so -o libatlas.so \ -+ gcc -shared $(LDFLAGS) -Wl,-soname -Wl,libatlas.so.$(so_ver_major) \ -+ -o libatlas.so.$(so_ver) \ - --whole-archive libatlas.a --no-whole-archive -lc $(LIBS) +- --whole-archive libatlas.a --no-whole-archive -lc $(LIBS) ++ mkdir static_libs ; cd static_libs ; ar x ../libatlas.a ; cd ../ ++ gcc $(LDFLAGS) -shared -Wl,-soname=libatlas.so.$(so_ver_major) \ ++ -o libatlas.so.$(so_ver) static_libs/*.o -lc $(LIBS) ++ rm -rf static_libs + ln -s ./libatlas.so.$(so_ver) libatlas.so.$(so_ver_major) + ln -s ./libatlas.so.$(so_ver) libatlas.so liblapack.so : liblapack.a - ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive \ -+ gcc -shared $(LDFLAGS) -Wl,-soname -Wl,liblapack.so.$(so_ver_major) \ -+ -o liblapack.so.$(so_ver) --whole-archive \ - liblapack.a --no-whole-archive $(F77SYSLIB) +- liblapack.a --no-whole-archive $(F77SYSLIB) ++ mkdir static_libs ; cd static_libs ; ar x ../liblapack.a ; cd ../ ++ gcc $(LDFLAGS) -shared -Wl,-soname=liblapack.so.$(so_ver_major) \ ++ -o liblapack.so.$(so_ver) static_libs/*.o $(F77SYSLIB) ++ rm -rf static_libs + ln -s ./liblapack.so.$(so_ver) liblapack.so.$(so_ver_major) + ln -s ./liblapack.so.$(so_ver) liblapack.so libclapack.so : libclapack.a - ld $(LDFLAGS) -shared -soname liblapack.so -o liblapack.so \ -+ gcc -shared $(LDFLAGS) -Wl,-soname -Wl,libclapack.so.$(so_ver_major) \ -+ -o libclapack.so.$(so_ver) \ - --whole-archive libclapack.a +- --whole-archive libclapack.a ++ mkdir static_libs ; cd static_libs ; ar x ../libclapack.a ; cd ../ ++ gcc $(LDFLAGS) -shared -Wl,-soname=libclapack.so.$(so_ver_major) \ ++ -o libclapack.so.$(so_ver) static_libs/*.o ++ rm -rf static_libs + ln -s ./libclapack.so.$(so_ver) libclapack.so.$(so_ver_major) + ln -s ./libclapack.so.$(so_ver) libclapack.so libptf77blas.so : libptf77blas.a - ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive libptf77blas.a \ -+ gcc -shared $(LDFLAGS) -Wl,-soname -Wl,libptf77blas.so.$(so_ver_major) \ -+ -o libptf77blas.so.$(so_ver) --whole-archive libptf77blas.a \ - --no-whole-archive $(F77SYSLIB) +- --no-whole-archive $(F77SYSLIB) ++ mkdir static_libs ; cd static_libs ; ar x ../libptf77blas.a ; cd ../ ++ gcc $(LDFLAGS) -shared -Wl,-soname=libptf77blas.so.$(so_ver_major) \ ++ -o libptf77blas.so.$(so_ver) static_libs/*.o $(F77SYSLIB) ++ rm -rf static_libs + ln -s ./libptf77blas.so.$(so_ver) libptf77blas.so.$(so_ver_major) + ln -s ./libptf77blas.so.$(so_ver) libptf77blas.so libf77blas.so : libf77blas.a - ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive libf77blas.a \ -+ gcc -shared $(LDFLAGS) -Wl,-soname -Wl,libf77blas.so.$(so_ver_major) \ -+ -o libf77blas.so.$(so_ver) --whole-archive libf77blas.a \ - --no-whole-archive $(F77SYSLIB) +- --no-whole-archive $(F77SYSLIB) ++ mkdir static_libs ; cd static_libs ; ar x ../libf77blas.a ; cd ../ ++ gcc $(LDFLAGS) -shared -Wl,-soname=libf77blas.so.$(so_ver_major) \ ++ -o libf77blas.so.$(so_ver) static_libs/*.o $(F77SYSLIB) ++ rm -rf static_libs + ln -s ./libf77blas.so.$(so_ver) libf77blas.so.$(so_ver_major) + ln -s ./libf77blas.so.$(so_ver) libf77blas.so libptcblas.so : libptcblas.a - ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive libptcblas.a -+ gcc -shared $(LDFLAGS) -Wl,-soname -Wl,libptcblas.so.$(so_ver_major) \ -+ -o libptcblas.so.$(so_ver) --whole-archive libptcblas.a ++ mkdir static_libs ; cd static_libs ; ar x ../libptcblas.a ; cd ../ ++ gcc $(LDFLAGS) -shared -Wl,-soname=libptcblas.so.$(so_ver_major) \ ++ -o libptcblas.so.$(so_ver) static_libs/*.o ++ rm -rf static_libs + ln -s ./libptcblas.so.$(so_ver) libptcblas.so.$(so_ver_major) + ln -s ./libptcblas.so.$(so_ver) libptcblas.so libcblas.so : libcblas.a - ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive libcblas.a -+ gcc -shared $(LDFLAGS) -Wl,-soname -Wl,libcblas.so.$(so_ver_major) \ -+ -o libcblas.so.$(so_ver) --whole-archive libcblas.a ++ mkdir static_libs ; cd static_libs ; ar x ../libcblas.a ; cd ../ ++ gcc $(LDFLAGS) -shared -Wl,-soname=libcblas.so.$(so_ver_major) \ ++ -o libcblas.so.$(so_ver) static_libs/*.o ++ rm -rf static_libs + ln -s ./libcblas.so.$(so_ver) libcblas.so.$(so_ver_major) + ln -s ./libcblas.so.$(so_ver) libcblas.so # diff --git a/atlas.spec b/atlas.spec index 4ae3c84..53cf312 100644 --- a/atlas.spec +++ b/atlas.spec @@ -2,7 +2,7 @@ Name: atlas Version: 3.8.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Automatically Tuned Linear Algebra Software Group: System Environment/Libraries @@ -185,9 +185,8 @@ for type in %{types}; do fi done %ifarch i386 && %if "%{?enable_native_atlas}" == "0" -pushd %{buildroot}%{_libdir} - ln -s ./atlas-sse2 atlas -popd +cp -pr %{buildroot}%{_libdir}/atlas-sse2 %{buildroot}%{_libdir}/atlas +echo "%{_libdir}/atlas" >> %{buildroot}/etc/ld.so.conf.d/atlas-sse2.conf %endif %clean @@ -249,13 +248,17 @@ rm -rf %{buildroot} %dir %{_libdir}/atlas-sse2 %dir %{_libdir}/atlas %{_libdir}/atlas-sse2/*.so.* +%{_libdir}/atlas/*.so.* %config(noreplace) /etc/ld.so.conf.d/atlas-sse2.conf +%config(noreplace) /etc/ld.so.conf.d/atlas.conf %files sse2-devel %defattr(-,root,root,-) %doc doc %{_libdir}/atlas-sse2/*.so %{_libdir}/atlas-sse2/*.a +%{_libdir}/atlas/*.so +%{_libdir}/atlas/*.a %{_includedir}/atlas %{_includedir}/*.h @@ -277,6 +280,10 @@ rm -rf %{buildroot} %endif %changelog +* Tue Dec 16 2008 Deji Akingunola - 3.8.2-4 +- Don't symlink the atlas libdir on i386, cause upgrade issue (BZ#476787) +- Fix options passed to gcc when making shared libs + * Tue Dec 16 2008 Deji Akingunola - 3.8.2-3 - Use 'gcc -shared' to build shared libs instead of stock 'ld'