diff --git a/.gitignore b/.gitignore index a0790a6..9d44488 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /superlu_dist_6.1.1.tar.gz /superlu_dist_6.3.1.tar.gz /superlu_dist-7.2.0.tar.gz +/superlu_dist-8.0.0.tar.gz diff --git a/sources b/sources index 75f4fdd..a340b4c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (superlu_dist-7.2.0.tar.gz) = 89d2480e2c200e4588171b24ce21c9f1556c3ba917a561bdb6ac89e88c73ea982ba133ffddba632494098b68d8ad59ca28ec215f2cb92da12c518e87a2e1d5f7 +SHA512 (superlu_dist-8.0.0.tar.gz) = c4e4df9b077bc24f587121c05c60a9521f9afe2f1a15acb2e1ea17b34df33c155a423f89c520c43f7953889a8ae90d8e358f95e99e901d3097e9df6a992c482e diff --git a/superlu_dist-8.0.0-multiple_definitions.patch b/superlu_dist-8.0.0-multiple_definitions.patch new file mode 100644 index 0000000..81d7f34 --- /dev/null +++ b/superlu_dist-8.0.0-multiple_definitions.patch @@ -0,0 +1,34 @@ +From a841c9be1666056b2a6b720d27161aa244b562b1 Mon Sep 17 00:00:00 2001 +From: Yang Liu +Date: Thu, 26 May 2022 13:52:57 -0700 +Subject: [PATCH] fixing the multiple definition errors in fortran files + +--- + FORTRAN/CMakeLists.txt | 11 ++--------- + 1 file changed, 2 insertions(+), 9 deletions(-) + +diff --git a/FORTRAN/CMakeLists.txt b/FORTRAN/CMakeLists.txt +index 1f14310..63ec920 100644 +--- a/FORTRAN/CMakeLists.txt ++++ b/FORTRAN/CMakeLists.txt +@@ -2,7 +2,6 @@ + include_directories(${SuperLU_DIST_SOURCE_DIR}/SRC) + include_directories(${SuperLU_DIST_BINARY_DIR}/FORTRAN) + +-set(mod_sources superlu_mod.f90 superlupara.f90) + set(sources + superlu_c2f_wrap.c # initialize precision-independent file + superlupara.f90 +@@ -16,10 +15,8 @@ if(enable_complex16) + list(APPEND sources c2f_zcreate_matrix_x_b.c superlu_c2f_zwrap.c) + endif() + +-# see https://gitlab.kitware.com/cmake/cmake/-/issues/17525, why we need to separate MOD files from other source files +-add_library(superlu_dist_fortran_mod OBJECT ${mod_sources}) +-add_library(superlu_dist_fortran $ ${sources}) +-add_library(superlu_dist_fortran-static STATIC $ ${sources}) ++add_library(superlu_dist_fortran ${sources}) ++add_library(superlu_dist_fortran-static STATIC ${sources}) + # set(targets superlu_dist_fortran) + get_target_property(superlu_dist_version superlu_dist VERSION) + get_target_property(superlu_dist_soversion superlu_dist SOVERSION) diff --git a/superlu_dist.spec b/superlu_dist.spec index 0e7307e..a036289 100644 --- a/superlu_dist.spec +++ b/superlu_dist.spec @@ -97,8 +97,8 @@ BuildRequires: metis-devel %endif Name: superlu_dist -Version: 7.2.0 -Release: 3%{?dist} +Version: 8.0.0 +Release: 1%{?dist} Epoch: 1 Summary: Solution of large, sparse, nonsymmetric systems of linear equations @@ -116,6 +116,8 @@ Patch3: %name-scotch_parmetis.patch # Longer tests take 1000 sec or timeout, so don't run them Patch4: %name-only_short_tests.patch +Patch5: %name-8.0.0-multiple_definitions.patch + BuildRequires: scotch-devel BuildRequires: %{?dts}gcc-c++, dos2unix, chrpath %if %{with cmake} @@ -171,6 +173,7 @@ This is the openmpi version. Summary: Development files for %name-openmpi Requires: openmpi-devel%{?_isa} Requires: %name-openmpi%{?_isa} = %{epoch}:%version-%release +Provides: %name-openmpi-static = %{epoch}:%version-%release %description openmpi-devel Development files for %name-openmpi @@ -204,6 +207,7 @@ Summary: Development files for %name-mpich Requires: mpich-devel%{?_isa} Requires: ptscotch-mpich-devel%{?_isa} ptscotch-mpich-devel-parmetis%{?_isa} Requires: %name-mpich%{?_isa} = %{epoch}:%version-%release +Provides: %name-mpich-static = %{epoch}:%version-%release %description mpich-devel Development files for %name-mpich @@ -223,6 +227,7 @@ dos2unix CMakeLists.txt %patch1 -p1 -b .fix_pkgconfig_creation %endif %patch4 -p1 -b .only_short_tests +%patch5 -p1 -b .backup %build %if %{with manual} @@ -390,7 +395,7 @@ done install -m644 SRC/*.h %buildroot$MPI_INCLUDE/superlu_dist/ rm -rf %buildroot$MPI_LIB/EXAMPLE rm -rf %buildroot$MPI_LIB/superlu_dist/FORTRAN/CMakeFiles -chrpath -r $MPI_LIB %buildroot$MPI_LIB/libsuperlu_dist* +chrpath -r $MPI_LIB %buildroot$MPI_LIB/libsuperlu_dist*.so* %{_openmpi_unload} %endif @@ -402,7 +407,7 @@ install -m644 SRC/*.h %buildroot$MPI_INCLUDE/superlu_dist/ rm -rf %buildroot$MPI_LIB/EXAMPLE rm -rf %buildroot$MPI_LIB/superlu_dist/FORTRAN/CMakeFiles -chrpath -r $MPI_LIB %buildroot$MPI_LIB/libsuperlu_dist* +chrpath -r $MPI_LIB %buildroot$MPI_LIB/libsuperlu_dist*.so* %{_mpich_unload} %endif %endif @@ -463,6 +468,7 @@ popd %files openmpi-devel %_libdir/openmpi/lib/*.so +%_libdir/openmpi/lib/*.a %if %{with cmake} %_libdir/openmpi/lib/pkgconfig/*.pc %endif @@ -480,6 +486,7 @@ popd %files mpich-devel %_libdir/mpich/lib/*.so +%_libdir/mpich/lib/*.a %if %{with cmake} %_libdir/mpich/lib/pkgconfig/*.pc %endif @@ -488,6 +495,10 @@ popd %changelog +* Sun May 29 2022 Antonio Trande - 1:8.0.0-1 +- Release 8.0.0 +- Provide static libraries + * Sat Apr 16 2022 Antonio Trande - 1:7.2.0-3 - Enable complex16 libraries