[suitesparse] explicitly link libsuitesparseconfig where necessary

Nils Philippsen nphilipp at fedoraproject.org
Mon Nov 19 16:59:28 UTC 2012


commit c4082d4289d51220cb10ecba81cadb24be0e5f5f
Author: Nils Philippsen <nils at redhat.com>
Date:   Mon Nov 19 17:59:08 2012 +0100

    explicitly link libsuitesparseconfig where necessary

 suitesparse.spec |   47 ++++++++++++++++++++++++++++-------------------
 1 files changed, 28 insertions(+), 19 deletions(-)
---
diff --git a/suitesparse.spec b/suitesparse.spec
index 2cfc409..bdba0ed 100644
--- a/suitesparse.spec
+++ b/suitesparse.spec
@@ -1,6 +1,6 @@
 Name:           suitesparse
 Version:        4.0.2
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        A collection of sparse matrix libraries
 
 Group:          System Environment/Libraries
@@ -116,6 +116,20 @@ This package contains documentation files for %{name}.
 
 mkdir -p Doc/{AMD,BTF,CAMD,CCOLAMD,CHOLMOD,COLAMD,KLU,LDL,UMFPACK,SPQR,RBio} Lib Include
 
+# SuiteSparse_config needs to come first
+pushd SuiteSparse_config
+  make CFLAGS="$RPM_OPT_FLAGS -fPIC"
+  ar x libsuitesparseconfig.a
+  pushd ../Lib
+    gcc -shared -Wl,-soname,libsuitesparseconfig.so.%{SuiteSparse_config_major} -o \
+        libsuitesparseconfig.so.%{SuiteSparse_config_ver} ../SuiteSparse_config/*.o
+    ln -sf libsuitesparseconfig.so.%{SuiteSparse_config_ver} libsuitesparseconfig.so.%{SuiteSparse_config_major}
+    ln -sf libsuitesparseconfig.so.%{SuiteSparse_config_ver} libsuitesparseconfig.so
+    cp -p ../SuiteSparse_config/*.a ./
+  popd
+  cp -p *.h ../Include
+popd
+
 pushd AMD
   pushd Lib
     make CFLAGS="$RPM_OPT_FLAGS -fPIC"
@@ -205,7 +219,8 @@ pushd CHOLMOD
         libcholmod.so.%{cholmod_version} ../CHOLMOD/Lib/*.o \
         -L%{_libdir}/atlas -lcblas -llapack libamd.so.%{amd_version_major} \
         libcamd.so.%{camd_version_major} libcolamd.so.%{colamd_version_major} \
-        libccolamd.so.%{ccolamd_version_major} -lm
+        libccolamd.so.%{ccolamd_version_major} \
+        libsuitesparseconfig.so.%{SuiteSparse_config_major} -lm
     ln -sf libcholmod.so.%{cholmod_version} libcholmod.so.%{cholmod_version_major}
     ln -sf libcholmod.so.%{cholmod_version} libcholmod.so
     cp -p ../CHOLMOD/Lib/*.a ./
@@ -262,7 +277,8 @@ pushd KLU
     gcc -shared -Wl,-soname,libklu.so.%{klu_version_major} -o \
         libklu.so.%{klu_version} ../KLU/Lib/*.o \
         libamd.so.%{amd_version_major} libcolamd.so.%{colamd_version_major} \
-        libbtf.so.%{btf_version_major} libcholmod.so.%{cholmod_version_major}
+        libbtf.so.%{btf_version_major} libcholmod.so.%{cholmod_version_major} \
+        libsuitesparseconfig.so.%{SuiteSparse_config_major}
     ln -sf libklu.so.%{klu_version} libklu.so.%{klu_version_major}
     ln -sf libklu.so.%{klu_version} libklu.so
     cp -p ../KLU/Lib/*.a ./
@@ -294,7 +310,8 @@ pushd UMFPACK
     gcc -shared -Wl,-soname,libumfpack.so.%{umfpack_version_major} -o \
         libumfpack.so.%{umfpack_version} ../UMFPACK/Lib/*.o \
         -L%{_libdir}/atlas -lcblas -llapack libamd.so.%{amd_version_major} \
-        libcholmod.so.%{cholmod_version_major} -lm
+        libcholmod.so.%{cholmod_version_major} \
+        libsuitesparseconfig.so.%{SuiteSparse_config_major} -lm
     ln -sf libumfpack.so.%{umfpack_version} libumfpack.so.%{umfpack_version_major}
     ln -sf libumfpack.so.%{umfpack_version} libumfpack.so
     cp -p ../UMFPACK/Lib/*.a ./
@@ -311,7 +328,8 @@ pushd SPQR
     g++ -shared -Wl,-soname,libspqr.so.%{spqr_version_major} -o \
         libspqr.so.%{spqr_version} ../SPQR/Lib/*.o \
         -L%{_libdir}/atlas -L%{_libdir} -lcblas -llapack %{?with_tbb:-ltbb -ltbbmalloc} \
-        libcholmod.so.%{cholmod_version_major} -lm
+        libcholmod.so.%{cholmod_version_major} \
+        libsuitesparseconfig.so.%{SuiteSparse_config_major} -lm
     ln -sf libspqr.so.%{spqr_version} libspqr.so.%{spqr_version_major}
     ln -sf libspqr.so.%{spqr_version} libspqr.so
     cp -p ../SPQR/Lib/*.a ./
@@ -321,26 +339,14 @@ pushd SPQR
   cp -p README_SPQR.txt Doc/* ../Doc/SPQR
 popd
 
-pushd SuiteSparse_config
-  make CFLAGS="$RPM_OPT_FLAGS -fPIC"
-  ar x libsuitesparseconfig.a
-  pushd ../Lib
-    gcc -shared -Wl,-soname,libsuitesparseconfig.so.%{SuiteSparse_config_ver_major} -o \
-        libsuitesparseconfig.so.%{SuiteSparse_config_ver} ../SuiteSparse_config/*.o
-    ln -sf libsuitesparseconfig.so.%{SuiteSparse_config_ver} libsuitesparseconfig.so.%{SuiteSparse_config_major}
-    ln -sf libsuitesparseconfig.so.%{SuiteSparse_config_ver} libsuitesparseconfig.so
-    cp -p ../SuiteSparse_config/*.a ./
-  popd
-  cp -p *.h ../Include
-popd
-
 pushd RBio
   pushd Lib
     make CFLAGS="$RPM_OPT_FLAGS -fPIC"
   popd
   pushd ../Lib
     gcc -shared -Wl,-soname,librbio.so.%{rbio_version_major} -o \
-        librbio.so.%{rbio_version} ../RBio/Lib/*.o
+        librbio.so.%{rbio_version} ../RBio/Lib/*.o \
+        libsuitesparseconfig.so.%{SuiteSparse_config_major}
     ln -sf librbio.so.%{rbio_version} librbio.so.%{rbio_version_major}
     ln -sf librbio.so.%{rbio_version} librbio.so
     cp -p ../RBio/Lib/*.a ./
@@ -391,6 +397,9 @@ rm -rf ${RPM_BUILD_ROOT}
 %doc Doc/*
 
 %changelog
+* Mon Nov 19 2012 Nils Philippsen <nils at redhat.com> - 4.0.2-2
+- explicitly link libsuitesparseconfig where necessary
+
 * Fri Nov 16 2012 Deji Akingunola <dakingun at gmail.com> - 4.0.2-1
 - Update to 4.0.2
 


More information about the scm-commits mailing list