2019-07-08 10:26:24 +08:00
|
|
|
<!--
|
2022-04-06 07:19:51 +08:00
|
|
|
Copyright (c) 1998 Lawrence Livermore National Security, LLC and other
|
2019-07-08 10:26:24 +08:00
|
|
|
HYPRE Project Developers. See the top-level COPYRIGHT file for details.
|
2018-11-20 09:20:05 +08:00
|
|
|
|
2019-07-08 10:26:24 +08:00
|
|
|
SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
|
|
|
|
-->
|
2018-11-20 09:25:04 +08:00
|
|
|
|
2018-11-20 09:20:05 +08:00
|
|
|
HYPRE Installation Information for Unix-based systems
|
|
|
|
|
=====================================================
|
|
|
|
|
|
|
|
|
|
The simplest way to build HYPRE is:
|
|
|
|
|
|
2018-11-20 09:25:04 +08:00
|
|
|
1. From within the `src` directory, type `configure` to configure the package
|
2018-11-20 09:20:05 +08:00
|
|
|
for your system.
|
|
|
|
|
|
|
|
|
|
While configure runs, it prints messages indicating which features it is
|
|
|
|
|
checking for. Two output files are created: config.status and config.log.
|
|
|
|
|
The config.status file can be run to recreate the current configuration, and
|
|
|
|
|
config.log is useful for debugging configure. Upon successful completion,
|
2018-11-20 09:25:04 +08:00
|
|
|
the file `config/Makefile.config` is created from its template
|
|
|
|
|
`Makefile.config.in` and HYPRE is ready to be made.
|
2018-11-20 09:20:05 +08:00
|
|
|
|
2018-11-20 09:25:04 +08:00
|
|
|
2. Type `make install` to compile and install HYPRE.
|
2018-11-20 09:20:05 +08:00
|
|
|
|
|
|
|
|
3. You can remove the program binaries and object files from the source code by
|
2018-11-20 09:25:04 +08:00
|
|
|
typing `make clean`. To remove additional files created by configure, type
|
|
|
|
|
`make distclean`.
|
2018-11-20 09:20:05 +08:00
|
|
|
|
|
|
|
|
Optional Features:
|
|
|
|
|
|
|
|
|
|
Configure has many options to allow the user to override and refine the defaults
|
2018-11-20 09:25:04 +08:00
|
|
|
of any system. To display the available options, type `configure --help`.
|
2018-11-20 09:20:05 +08:00
|
|
|
|
|
|
|
|
The make step in building HYPRE is where the compiling, loading and creation of
|
|
|
|
|
libraries occurs. Make has several options called targets, which can be listed
|
2018-11-20 09:25:04 +08:00
|
|
|
by running `make help`.
|
2018-11-20 09:20:05 +08:00
|
|
|
|
|
|
|
|
When building HYPRE without the install target, the libraries and include files
|
2018-11-20 09:25:04 +08:00
|
|
|
are copied into the directories, `src/hypre/lib` and `src/hypre/include`.
|
2018-11-20 09:20:05 +08:00
|
|
|
|
|
|
|
|
When building with the install target, the libraries and files are copied into
|
|
|
|
|
the directories specified by the configure option, --prefix=/usr/apps. If none
|
|
|
|
|
were specified, the default directories are used, hypre/lib and hypre/include.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
HYPRE Installation Information using CMake
|
|
|
|
|
==========================================
|
|
|
|
|
|
|
|
|
|
CMake is another way to build HYPRE that is particularly useful for building the
|
|
|
|
|
code on Windows machines. CMake provides a uniform interface for setting
|
|
|
|
|
configuration options on different platforms. It does not actually build the
|
|
|
|
|
code, but generates input for other "native" build systems such as Make (Unix
|
|
|
|
|
platforms) or Visual Studio (Windows). Here are the basic steps:
|
|
|
|
|
|
|
|
|
|
1. First, ensure that CMake version 2.8.8 or later is installed on the system.
|
|
|
|
|
|
|
|
|
|
2. To build the library, run CMake on the top-level HYPRE source directory to
|
|
|
|
|
generate files appropriate for the native build system. To prevent writing
|
|
|
|
|
over the Makefiles in HYPRE's configure/make system above, only out-of-source
|
2018-11-20 09:25:04 +08:00
|
|
|
builds are currently allowed with CMake. Directories `src/cmbuild` and
|
|
|
|
|
`src/test/cmbuild` are provided in the release for convenience, but
|
2018-11-20 09:20:05 +08:00
|
|
|
alternative build directories may be created by the user:
|
|
|
|
|
|
2018-11-20 09:25:04 +08:00
|
|
|
- Unix: From the `src/cmbuild` directory, type `cmake ..`.
|
2018-11-20 09:20:05 +08:00
|
|
|
|
2018-11-20 09:25:04 +08:00
|
|
|
- Windows: Set the source and build directories to `src` and `src/cmbuild`,
|
2018-11-20 09:20:05 +08:00
|
|
|
then click on 'Configure' following by 'Generate'.
|
|
|
|
|
|
|
|
|
|
3. To complete the build of the library, compile with the native build system:
|
|
|
|
|
|
2018-11-20 09:25:04 +08:00
|
|
|
- Unix: From the `src/cmbuild` directory, type `make install`.
|
2018-11-20 09:20:05 +08:00
|
|
|
|
|
|
|
|
- Windows Visual Studio: Open the 'hypre' VS solution file generated by CMake
|
|
|
|
|
and build the 'ALL_BUILD' target, then the 'INSTALL' target.
|
|
|
|
|
|
|
|
|
|
Optional Features:
|
|
|
|
|
|
|
|
|
|
Various configuration options can be set from within CMake. Change these as
|
|
|
|
|
appropriate, then reconfigure/generate:
|
|
|
|
|
|
2018-11-20 09:25:04 +08:00
|
|
|
- Unix: From the `src/cmbuild` directory, type `ccmake ..`, change options, then
|
|
|
|
|
type `c` then `q`.
|
2018-11-20 09:20:05 +08:00
|
|
|
|
|
|
|
|
- Windows VS: Change options, then click on 'Configure' then 'Generate'.
|
2019-10-17 22:22:50 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
ABI Compatibility
|
|
|
|
|
=================
|
|
|
|
|
|
|
|
|
|
The hypre team currently does nothing to ensure application binary interface
|
|
|
|
|
(ABI) compatibility. As a result, all releases (major, minor, or patch) should
|
|
|
|
|
be treated as incompatible.
|
|
|
|
|
|