Репозиторий Sisyphus
Последнее обновление: 20 сентября 2019 | Пакетов: 17474 | Посещений: 15134908
en ru br
Репозитории ALT
S:2.15.1-alt1
5.1: 2.4.0b-alt7
www.altlinux.org/Changes

Группа :: Науки/Математика
Пакет: hypre

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: hypre-2.15.1-alt.patch
Скачать


 .gear/hypre.spec                                   | 230 +++++++++++++++++++++
 .gear/rules                                        |   3 +
 .../tags/143d2dad3a4857145eb840063d9b288117dffb2d  |   6 +
 .gear/tags/list                                    |   2 +
 src/CMakeLists.txt                                 |   5 +-
 src/FEI_mv/femli/test/Makefile                     |   2 +-
 src/FEI_mv/femli/test/make.csh                     |   2 +-
 src/config/Makefile.config.in                      |  18 +-
 src/config/hypre_macros_misc.m4                    |   2 +-
 src/configure                                      |   8 +-
 src/examples/Makefile                              |   4 +-
 11 files changed, 266 insertions(+), 16 deletions(-)
diff --git a/.gear/hypre.spec b/.gear/hypre.spec
new file mode 100644
index 0000000..7250e2a
--- /dev/null
+++ b/.gear/hypre.spec
@@ -0,0 +1,230 @@
+%define mpiimpl openmpi
+%define mpidir %_libdir/%mpiimpl
+
+%define somver 0
+%define sover %somver.2.15
+Name: hypre
+Version: 2.15.1
+Release: alt1
+Summary: Scalable algorithms for solving linear systems of equations
+License: LGPL v2.1
+Group: Sciences/Mathematics
+Url: http://www.llnl.gov/casc/hypre/
+
+# https://github.com/LLNL/hypre.git
+Source: %name-%version.tar
+Patch1: %name-%version-alt.patch
+
+Requires: lib%name-devel = %version-%release
+
+BuildRequires(pre): rpm-build-python rpm-build-java /proc
+BuildRequires: gcc-fortran gcc-c++ %mpiimpl-devel emacs-nox
+BuildRequires: liblapack-devel doc++ netpbm
+BuildRequires: libsuperlu-devel babel cmake texlive-base-bin
+BuildRequires: java-devel-default python-devel
+BuildRequires: libnumpy-devel libxml2-devel python-module-libxml2
+BuildRequires: libltdl-devel ghostscript-classic
+
+%description
+The goal of the Scalable Linear Solvers project is to develop scalable
+algorithms and software for solving large, sparse linear systems of equations on
+parallel computers. The primary software product is Hypre, a library of high
+performance preconditioners that features parallel multigrid methods for both
+structured and unstructured grid problems. The problems of interest arise in the
+simulation codes being developed at LLNL and elsewhere to study physical
+phenomena in the defense, environmental, energy, and biological sciences.
+
+%package -n lib%name
+Summary: Shared libraries of Hypre
+Group: System/Libraries
+
+%description -n lib%name
+The goal of the Scalable Linear Solvers project is to develop scalable
+algorithms and software for solving large, sparse linear systems of equations on
+parallel computers. The primary software product is Hypre, a library of high
+performance preconditioners that features parallel multigrid methods for both
+structured and unstructured grid problems. The problems of interest arise in the
+simulation codes being developed at LLNL and elsewhere to study physical
+phenomena in the defense, environmental, energy, and biological sciences.
+
+This package contains shared libraries of Hypre.
+
+%package -n lib%name-devel
+Summary: Development files of Hypre
+Group: Development/Other
+Requires: libbabel-devel libltdl7-devel libsuperlu-devel
+Requires: lib%name = %version-%release
+Conflicts: lib%name-devel < %version-%release
+Obsoletes: lib%name-devel < %version-%release
+
+%description -n lib%name-devel
+The goal of the Scalable Linear Solvers project is to develop scalable
+algorithms and software for solving large, sparse linear systems of equations on
+parallel computers. The primary software product is Hypre, a library of high
+performance preconditioners that features parallel multigrid methods for both
+structured and unstructured grid problems. The problems of interest arise in the
+simulation codes being developed at LLNL and elsewhere to study physical
+phenomena in the defense, environmental, energy, and biological sciences.
+
+This package contains development files of Hypre.
+
+%package -n lib%name-devel-doc
+Summary: Development documentation for Hypre
+Group: Development/Documentation
+BuildArch: noarch
+
+%description -n lib%name-devel-doc
+The goal of the Scalable Linear Solvers project is to develop scalable
+algorithms and software for solving large, sparse linear systems of equations on
+parallel computers. The primary software product is Hypre, a library of high
+performance preconditioners that features parallel multigrid methods for both
+structured and unstructured grid problems. The problems of interest arise in the
+simulation codes being developed at LLNL and elsewhere to study physical
+phenomena in the defense, environmental, energy, and biological sciences.
+
+This package contains development documentation for Hepre.
+
+%prep
+%setup
+%patch1 -p1
+
+%build
+mpi-selector --set %mpiimpl
+source /etc/profile.d/mpi-selector.sh
+source %mpidir/bin/mpivars.sh
+export OMPI_LDFLAGS="-Wl,--as-needed,-rpath=%mpidir/lib -L%mpidir/lib"
+
+export includedir=%_includedir
+export JNI_INCLUDES="%_libexecdir/jvm/java/include"
+export MPIDIR=%mpidir
+cd src
+
+%add_optflags %optflags %optflags_shared -I%_includedir/numpy
+
+%cmake \
+	-DHYPRE_SHARED:BOOL=ON \
+	-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
+	-DCMAKE_STRIP:FILEPATH="/bin/echo" \
+	-DHYPRE_INSTALL_PREFIX:PATH=%buildroot%prefix \
+	-DMPIDIR=%mpidir \
+	-DSOMVER=%somver \
+	-DSOVER=%sover \
+	-DHYPRE_SHARED:BOOL=ON \
+	-DHYPRE_USING_HYPRE_BLAS:BOOL=OFF \
+	-DHYPRE_USING_HYPRE_LAPACK:BOOL=OFF \
+	..
+
+%cmake_build
+
+%install
+source %mpidir/bin/mpivars.sh
+export OMPI_LDFLAGS="-Wl,--as-needed,-rpath=%mpidir/lib -L%mpidir/lib"
+
+pushd src/BUILD
+
+%make install
+
+install -d %buildroot%_includedir/%name
+mv %buildroot%_includedir/*.h %buildroot%_includedir/%name/
+
+install -d %buildroot%_docdir/lib%name-devel-doc
+cp -fR ../../docs/* %buildroot%_docdir/lib%name-devel-doc/
+rm -f %buildroot%_libdir/libsidl*
+popd
+
+%files
+%doc CHANGELOG COPYING.LESSER COPYRIGHT
+
+%files -n lib%name
+%_libdir/*.so.*
+
+%files -n lib%name-devel
+%_libdir/*.so
+%_includedir/*
+
+%files -n lib%name-devel-doc
+%_docdir/lib%name-devel-doc
+
+%changelog
+* Fri Feb 22 2019 Evgeny Sinelnikov <sin@altlinux.org> 2.15.1-alt1
+- Update to latest release
+
+* Fri Jul 27 2018 Aleksei Nikiforov <darktemplar@altlinux.org> 2.13.0-alt2
+- Updated build dependencies.
+
+* Mon Jan 22 2018 Aleksei Nikiforov <darktemplar@altlinux.org> 2.13.0-alt1
+- Updated to upstream version 2.13.0.
+
+* Thu Feb 21 2013 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.9.0b-alt1
+- Version 2.9.0b
+
+* Sat Aug 11 2012 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.8.0b-alt5
+- Built with OpenBLAS instead of GotoBLAS2
+
+* Tue Jul 10 2012 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.8.0b-alt4
+- Rebuilt with emacs 24.1
+
+* Sun Jun 24 2012 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.8.0b-alt3
+- Rebuilt with OpenMPI 1.6
+
+* Wed Jun 06 2012 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.8.0b-alt2
+- Fixed build
+
+* Tue Dec 06 2011 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.8.0b-alt1
+- Version 2.8.0b
+
+* Fri Apr 08 2011 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.7.0b-alt3
+- Rebuilt with GotoBLAS2 1.13-alt3
+
+* Fri Apr 08 2011 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.7.0b-alt2
+- Rebuilt with GotoBLAS2 instead of ATLAS
+
+* Sat Mar 26 2011 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.7.0b-alt1
+- Version 2.7.0b
+- Disabled static package
+
+* Fri Mar 18 2011 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.6.0b-alt6
+- Added -g into compiler flags
+
+* Thu Feb 17 2011 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.6.0b-alt5
+- Rebuilt for debuginfo
+
+* Wed Oct 27 2010 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.6.0b-alt4
+- Rebuilt for soname set-versions
+
+* Wed Oct 13 2010 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.6.0b-alt3
+- Fixed overlinking of libraries
+
+* Mon Aug 09 2010 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.6.0b-alt2
+- Rebuilt without python-module-Numeric
+
+* Tue Jun 22 2010 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.6.0b-alt1
+- Version 2.6.0b
+
+* Tue Dec 22 2009 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.4.0b-alt9
+- Rebuilt with SuperLU 4.0 and emacs23
+
+* Sun Nov 01 2009 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.4.0b-alt8
+- Removed unnecessary headers
+
+* Tue Sep 1 2009 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.4.0b-alt7
+- Added shared libraries
+
+* Sun Jul 26 2009 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.4.0b-alt6
+- Fixed MPI check
+
+* Sun Jun 14 2009 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.4.0b-alt5
+- Rebuild with PIC
+
+* Tue May 26 2009 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.4.0b-alt4
+- Rebuild with OpenMPI
+
+* Wed Apr 22 2009 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.4.0b-alt3
+- Move headers into hypre subdirectory
+
+* Tue Apr 21 2009 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.4.0b-alt2
+- Remove files owned by other packages
+
+* Sat Apr 18 2009 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 2.4.0b-alt1
+- Initial build for Sisyphus
+
diff --git a/.gear/rules b/.gear/rules
new file mode 100644
index 0000000..f146440
--- /dev/null
+++ b/.gear/rules
@@ -0,0 +1,3 @@
+spec: .gear/hypre.spec
+tar: v@version@:.
+diff: v@version@:. . name=@name@-@version@-alt.patch
diff --git a/.gear/tags/143d2dad3a4857145eb840063d9b288117dffb2d b/.gear/tags/143d2dad3a4857145eb840063d9b288117dffb2d
new file mode 100644
index 0000000..453cea8
--- /dev/null
+++ b/.gear/tags/143d2dad3a4857145eb840063d9b288117dffb2d
@@ -0,0 +1,6 @@
+object 357c505ec74512f88370c719cca6e91d82840db7
+type commit
+tag v2.13.0
+tagger Rob Falgout <rfalgout@llnl.gov> 1508521342 -0700
+
+Release v2.13.0
diff --git a/.gear/tags/list b/.gear/tags/list
new file mode 100644
index 0000000..f9f648c
--- /dev/null
+++ b/.gear/tags/list
@@ -0,0 +1,2 @@
+143d2dad3a4857145eb840063d9b288117dffb2d v2.13.0
+232a4d7e3a03a4fc7fd37f6728fb89ff41ebed2e v2.15.1
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 2f766f7..85e1fc3 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -832,8 +832,11 @@ if (HYPRE_USING_FEI)
 endif ()
 
 add_library (HYPRE ${HYPRE_SOURCES} ${FEI_LIBS})
+set_target_properties (HYPRE PROPERTIES VERSION ${SOVER} SOVERSION ${SOMVER})
+target_link_libraries (HYPRE -L${MPIDIR}/lib -Wl,-rpath,${MPIDIR}/lib mpi
+	lapack openblas)
 
-install (TARGETS HYPRE DESTINATION lib)
+install (TARGETS HYPRE DESTINATION lib${LIB_SUFFIX})
 install (FILES ${HYPRE_HEADERS} DESTINATION include)
 
 # add_subdirectory (test EXCLUDE_FROM_ALL)
diff --git a/src/FEI_mv/femli/test/Makefile b/src/FEI_mv/femli/test/Makefile
index ef43b12..117bbea 100644
--- a/src/FEI_mv/femli/test/Makefile
+++ b/src/FEI_mv/femli/test/Makefile
@@ -42,7 +42,7 @@ CFLAGS = \
  ${CDEFS}
  
 MPILIBFLAGS =     
-LIBFLAGS =   -lm -lg2c
+LIBFLAGS =   -lm -lgfortran
 LDLIBFLAGS =   @LIBM@
 LAPACKLIBFLAGS =  -L/usr/lib -L/usr/local/lib -llapack
 BLASLIBFLAGS =  ${BLASLIBDIRS} ${BLASLIBS}
diff --git a/src/FEI_mv/femli/test/make.csh b/src/FEI_mv/femli/test/make.csh
index 17855d6..cbf5634 100644
--- a/src/FEI_mv/femli/test/make.csh
+++ b/src/FEI_mv/femli/test/make.csh
@@ -1,4 +1,4 @@
 #!/bin/csh
 mpiCC -c -DHYPRE_TIMING -I../../../hypre/include -I.. -I../../.. driver.c
-mpiCC -o driver driver.o -L../../../hypre/lib -L/usr/lib -lHYPRE -lHYPRE_superlu -lHYPRE_LSI -lg2c -lm
+mpiCC -o driver driver.o -L../../../hypre/lib -L/usr/lib -lHYPRE -lHYPRE_superlu -lHYPRE_LSI -lgfortran -lm
 
diff --git a/src/config/Makefile.config.in b/src/config/Makefile.config.in
index d472f07..33f4112 100644
--- a/src/config/Makefile.config.in
+++ b/src/config/Makefile.config.in
@@ -44,25 +44,25 @@ HYPRE_LIB_SUFFIX = @HYPRE_LIBSUFFIX@
 .SUFFIXES: .o .f .c .C .cxx .cc .cu
 
 .f.o:
-	$(FC) $(FFLAGS) -c $< 
+	$(FC) -g $(FFLAGS) -c $< 
 .c.o:
-	$(CC) $(CFLAGS) -c $< 
+	$(CC) -g $(CFLAGS) -c $< 
 .C.o:
-	$(CXX) $(CXXFLAGS) -c $<
+	$(CXX) -g $(CXXFLAGS) -c $<
 .cxx.o:
-	$(CXX) $(CXXFLAGS) -c $<
+	$(CXX) -g $(CXXFLAGS) -c $<
 .cc.o:
-	$(CXX) $(CXXFLAGS) -c $<
+	$(CXX) -g $(CXXFLAGS) -c $<
 #.cu.o:
 #	$(CUCC) $(CUFLAGS) -c $<
 
-FC       = @FC@
+FC       = @FC@ -g -fPIC
 FFLAGS   = @FFLAGS@ @FCFLAGS@ $(FC_COMPILE_FLAGS)
 
-CC       = @CC@
+CC       = @CC@ -g -fPIC
 CFLAGS   = @CFLAGS@ @DEFS@ $(C_COMPILE_FLAGS)
 
-CXX      = @CXX@
+CXX      = @CXX@ -g -fPIC
 CXXFLAGS = @CXXFLAGS@ @DEFS@ $(CXX_COMPILE_FLAGS)
 
 #CUCC     = @CUCC@
@@ -88,7 +88,7 @@ BUILD_JAVA = @BUILD_JAVA@
 AR     = @AR@
 RANLIB = @RANLIB@
 
-LDFLAGS = @LDFLAGS@
+LDFLAGS = -lgfortran @LDFLAGS@
 LIBS    = @LIBS@ @CALIPER_LIBS@ @HYPRE_CUDA_LIBS@ @RAJA_LIBS@ @KOKKOS_LIBS@
 FLIBS   = @FLIBS@
 
diff --git a/src/config/hypre_macros_misc.m4 b/src/config/hypre_macros_misc.m4
index 9bf79c5..58911f8 100644
--- a/src/config/hypre_macros_misc.m4
+++ b/src/config/hypre_macros_misc.m4
@@ -88,7 +88,7 @@ dnl * This setting of LDFLAGS is not the right way to go (RDF)
   AC_CHECK_LIB(g2c, e_wsfe, [found_g2c=yes])
 
   if test "$found_g2c" = "yes"; then
-     LIBS="-lg2c $hypre_save_LIBS"
+     LIBS="-lgfortran $hypre_save_LIBS"
   else
      LIBS="$hypre_save_LIBS"
   fi
diff --git a/src/configure b/src/configure
index e30f688..48adf13 100755
--- a/src/configure
+++ b/src/configure
@@ -21,6 +21,12 @@
 ## M4sh Initialization. ##
 ## -------------------- ##
 
+export CFLAGS="-pipe -Wall -O2 -fPIC -DPIC -I${MPIDIR}/include"
+export CXXFLAGS="$CFLAGS"
+export FFLAGS="$CFLAGS"
+export F90FLAGS="$CFLAGS"
+export LIBS="-L${MPIDIR}/lib -Wl,-rpath,${MPIDIR}/lib"
+
 # Be more Bourne compatible
 DUALCASE=1; export DUALCASE # for MKS sh
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
@@ -7401,7 +7407,7 @@ if eval \${$as_ac_Lib+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
-LIBS="-l$lib -lblas $LIBS"
+LIBS="-l$lib -lopenblas $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
diff --git a/src/examples/Makefile b/src/examples/Makefile
index 8e34b22..c99fafe 100644
--- a/src/examples/Makefile
+++ b/src/examples/Makefile
@@ -10,7 +10,7 @@ HYPRE_DIR = ../hypre
 ########################################################################
 # Compiling and linking options
 ########################################################################
-COPTS     = -g -Wall
+COPTS     = -g -pipe -Wall -O2
 CINCLUDES = -I$(HYPRE_DIR)/include
 CDEFS     = -DHAVE_CONFIG_H -DHYPRE_TIMING
 CFLAGS    = $(COPTS) $(CINCLUDES) $(CDEFS)
@@ -27,7 +27,7 @@ F90FLAGS = $(FFLAGS) $(IF90FLAGS)
 
 
 LINKOPTS  = $(COPTS)
-LIBS      = -L$(HYPRE_DIR)/lib -lHYPRE -lm
+LIBS      = -L$(HYPRE_DIR)/lib -lHYPRE -lgfortran -lm
 LFLAGS    = $(LINKOPTS) $(LIBS) -lstdc++
 LFLAGS_B =\
  -L${HYPRE_DIR}/lib\
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin