File atlas-suse-shared.patch of Package libatlas3
diff -ur ATLAS/makes/Make.lib ATLAS_fix/makes/Make.lib
--- ATLAS/makes/Make.lib 2013-01-08 19:15:41.000000000 +0100
+++ ATLAS_fix/makes/Make.lib 2013-01-13 19:21:29.422259967 +0100
@@ -4,6 +4,8 @@
#
# override with libatlas.so only when atlas is built to one lib
#
+so_ver_major=3
+so_ver = $(so_ver_major).0
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
@@ -112,9 +114,15 @@
# These are a bunch of different ways to attempt to build a .so, try them all
#
LDTRY:
- $(LD) $(LDFLAGS) -shared -soname $(LIBINSTdir)/$(outso) -o $(outso) \
- -rpath-link $(LIBINSTdir) \
- --whole-archive $(libas) --no-whole-archive $(LIBS)
+# $(LD) $(LDFLAGS) -shared -soname $(LIBINSTdir)/$(outso) -o $(outso) \
+# -rpath-link $(LIBINSTdir) \
+# --whole-archive $(libas) --no-whole-archive $(LIBS)
+ mkdir static_libs ; pushd static_libs && $(foreach file,$(libas),ar x ../$(file);) popd ; \
+ $(LD) $(LDFLAGS) -shared -soname=$(outso).$(so_ver_major) \
+ -o $(outso).$(so_ver) static_libs/*.o $(LIBS) ; \
+ ln -s $(outso).$(so_ver) $(outso).$(so_ver_major) ; \
+ ln -s $(outso).$(so_ver) $(outso) ; \
+ rm -rf static_libs
GCCTRY:
$(GOODGCC) -shared -o $(outso) \
-Wl,"rpath-link $(LIBINSTdir)" \