- Don't symlink the atlas libdir on i386, cause upgrade issue (BZ#476787)

- Fix options passed to gcc when making shared libs
This commit is contained in:
Deji Akingunola 2008-12-17 07:28:21 +00:00
parent 2b3b638592
commit ed8898754b
2 changed files with 46 additions and 25 deletions

View File

@ -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
#

View File

@ -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 <dakingun@gmail.com> - 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 <dakingun@gmail.com> - 3.8.2-3
- Use 'gcc -shared' to build shared libs instead of stock 'ld'