Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Development
ThirdParty-common
Commits
aa9fc0ef
Commit
aa9fc0ef
authored
Feb 14, 2019
by
Mark OLESEN
Browse files
CONFIG: update makeMPICH and makeMVAPICH
- note: mpich now builds libmpi.so instead of libmpich.so
parent
f968a673
Changes
3
Hide whitespace changes
Inline
Side-by-side
BUILD.md
View file @
aa9fc0ef
...
...
@@ -3,7 +3,7 @@
| ========= | |
|
\\
/ F ield | OpenFOAM: The Open Source CFD Toolbox |
|
\\
/ O peration | |
|
\\
/ A nd | Copyright (C) 2016-201
8
OpenCFD Ltd. |
|
\\
/ A nd | Copyright (C) 2016-201
9
OpenCFD Ltd. |
|
\\
/ M anipulation | |
|--------------------------------------------------------------------------|
-->
...
...
@@ -504,6 +504,12 @@ that clang compiler for building the newer llvm/clang version.
[
link openmpi]: https://www.open-mpi.org/software/ompi/v1.10/downloads/openmpi-1.10.7.tar.bz2
[
newer openmpi]: https://www.open-mpi.org/software/ompi/v2.1/downloads/openmpi-2.1.1.tar.bz2
[
page mpich]: http://www.mpich.org/
[
link mpich]: http://www.mpich.org/static/downloads/3.3/mpich-3.3.tar.gz
[
page mvpapich]: http://mvapich.cse.ohio-state.edu/
[
link mvpapich]: http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.3.tar.gz
<
!-- general -->
[
page cmake]: http://www.cmake.org/
...
...
makeMPICH
View file @
aa9fc0ef
...
...
@@ -3,7 +3,7 @@
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2017-201
8
OpenCFD Ltd.
# \\ / A nd | Copyright (C) 2017-201
9
OpenCFD Ltd.
# \\/ M anipulation |
#------------------------------------------------------------------------------
# License
...
...
@@ -14,7 +14,7 @@
# makeMPICH
#
# Description
# Build script for mpich
- legacy (
unmaintained
) build code!
# Build script for mpich
[
unmaintained
]
#
# ----------------------------------------------
# NO USER-CONFIGURABLE SETTINGS WITHIN THIS FILE
...
...
@@ -27,11 +27,11 @@ if [ "$1" = "-test" ]
then
[
"$#"
-eq
2
]
||
{
echo
"
${
0
##*/
}
-test : needs 1 argument"
;
exit
1
;
}
dir
=
"
$2
"
# <- MPI_ARCH_PATH
if
[
-r
"
$dir
/lib
$WM_COMPILER_LIB_ARCH
/libmpi
ch
.
$SO
"
]
if
[
-r
"
$dir
/lib
$WM_COMPILER_LIB_ARCH
/libmpi.
$SO
"
]
then
echo
"Have mpich shared library (
${
dir
##*/
}
)"
exit
0
elif
[
-r
"
$dir
/lib
$WM_COMPILER_LIB_ARCH
/libmpi
ch
.a"
]
elif
[
-r
"
$dir
/lib
$WM_COMPILER_LIB_ARCH
/libmpi.a"
]
then
echo
"Have mpich static library (
${
dir
##*/
}
)"
exit
0
...
...
@@ -125,10 +125,10 @@ fi
MPI_SOURCE_DIR
=
$sourceBASE
/
$mpiPACKAGE
MPI_ARCH_PATH
=
$installBASE
/
$mpiPACKAGE
if
[
-r
"
$MPI_ARCH_PATH
/lib_ARCH/libmpi.
$SO
"
]
if
[
-r
"
$MPI_ARCH_PATH
/lib
$WM_COMPILER_LIB
_ARCH
/libmpi.
$SO
"
]
then
echo
"Already has shared library"
elif
[
-r
"
$MPI_ARCH_PATH
/lib/libmpi.a"
]
elif
[
-r
"
$MPI_ARCH_PATH
/lib
$WM_COMPILER_LIB_ARCH
/libmpi.a"
]
then
echo
"Already has static library"
else
...
...
@@ -149,6 +149,8 @@ else
# End of configuration options
# ----------------------------
buildDIR
=
$buildBASE
/
$mpiPACKAGE
cd
$MPI_SOURCE_DIR
||
exit
1
export
GIT_DIR
=
$PWD
/.git
# Mask seeing our own git-repo
[
-e
Makefile
]
&&
make distclean 2>/dev/null
...
...
makeMVAPICH
0 → 100755
View file @
aa9fc0ef
#!/bin/sh
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2019 OpenCFD Ltd.
# \\/ M anipulation |
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM, licensed under GNU General Public License
# <http://www.gnu.org/licenses/>.
#
# Script
# makeMVAPICH2
#
# Description
# Build script for mvapich2 [unmaintained]
#
# ----------------------------------------------
# NO USER-CONFIGURABLE SETTINGS WITHIN THIS FILE
#------------------------------------------------------------------------------
# Dynamic library endings (default is .so)
[
"
$(
uname
-s
)
"
=
Darwin
]
&&
SO
=
dylib
||
SO
=
so
# Short-circuit test for an installation
if
[
"
$1
"
=
"-test"
]
then
[
"$#"
-eq
2
]
||
{
echo
"
${
0
##*/
}
-test : needs 1 argument"
;
exit
1
;
}
dir
=
"
$2
"
# <- MPI_ARCH_PATH
if
[
-r
"
$dir
/lib
$WM_COMPILER_LIB_ARCH
/libmpi.
$SO
"
]
then
echo
"Have mpich shared library (
${
dir
##*/
}
)"
exit
0
elif
[
-r
"
$dir
/lib
$WM_COMPILER_LIB_ARCH
/libmpi.a"
]
then
echo
"Have mpich static library (
${
dir
##*/
}
)"
exit
0
else
echo
"No mpich libraries found:
${
dir
:-
not
-specified
}
"
exit
2
fi
fi
#------------------------------------------------------------------------------
# Run from third-party directory only
cd
${
0
%/*
}
&&
wmakeCheckPwd
"
$WM_THIRD_PARTY_DIR
"
2>/dev/null
||
{
echo
"Error (
${
0
##*/
}
) : not located in
\$
WM_THIRD_PARTY_DIR"
echo
" Check your OpenFOAM environment and installation"
exit
1
}
.
etc/tools/ThirdPartyFunctions
# Transition
# ~~~~~~~~~~
_foamAddLib
()
{
true
;
}
_foamAddMan
()
{
true
;
}
_foamAddPath
()
{
true
;
}
#------------------------------------------------------------------------------
WM_MPLIB
=
MV2MPI
# Ensure we get the correct MPI
# mvapich2 version from OpenFOAM etc/config.sh file:
_foamConfig mpi
mpiPACKAGE
=
${
FOAM_MPI
:-
mvapich2
-system
}
#------------------------------------------------------------------------------
usage
()
{
exec
1>&2
while
[
"$#"
-ge
1
]
;
do
echo
"
$1
"
;
shift
;
done
cat
<<
USAGE
usage:
${
0
##*/
}
[OPTION] [mvapich2-VERSION] [-- configure-options]
options:
-gcc Force gcc/g++ instead of the values from
\$
WM_CC,
\$
WM_CXX
-help
* build mvapich2 with
${
mpiPACKAGE
:-
'unspecified mpich version'
}
The additional configure-options could include, for example,
${
0
##*/
}
-- --disable-mcast
USAGE
exit
1
}
#------------------------------------------------------------------------------
exportCompiler
# Compiler info for CMake/configure
# Parse options
while
[
"$#"
-gt
0
]
do
case
"
$1
"
in
''
)
;;
# Ignore empty
--
)
break
;;
# Extra configure options (leave on $@ for later detection)
-h
|
-help
)
usage
;;
-gcc
)
useGcc
;;
mvapich
*
)
mpiPACKAGE
=
"
${
1
%%/
}
"
;;
*
)
die
"unknown option/argument: '
$1
'"
;;
esac
shift
done
[
-n
"
$mpiPACKAGE
"
]
||
die
"The mvapich-VERSION was not specified"
# Nothing to build
if
_foamIsNone
"
$mpiPACKAGE
"
then
echo
"Using mvapich-none (skip ThirdParty build of mvapich)"
exit
0
elif
_foamIsSystem
"
$mpiPACKAGE
"
then
echo
"Using mvapich-system (skip ThirdParty build of mvapich)"
exit
0
fi
#------------------------------------------------------------------------------
#
# Build mvapich
#
# MPI_SOURCE_DIR : location of the original sources
# MPI_ARCH_PATH : installation directory
MPI_SOURCE_DIR
=
$sourceBASE
/
$mpiPACKAGE
MPI_ARCH_PATH
=
$installBASE
/
$mpiPACKAGE
if
[
-r
"
$MPI_ARCH_PATH
/lib
$WM_COMPILER_LIB_ARCH
/libmpi.
$SO
"
]
then
echo
"Already has shared library"
elif
[
-r
"
$MPI_ARCH_PATH
/lib
$WM_COMPILER_LIB_ARCH
/libmpi.a"
]
then
echo
"Already has static library"
else
echo
"Starting build:
$WM_MPLIB
(
$mpiPACKAGE
)"
echo
(
# Configuration options:
unset
configOpt
# Additional configure options
if
[
"
$1
"
=
"--"
]
then
shift
configOpt
=
"
$configOpt
$@
"
fi
# End of configuration options
# ----------------------------
buildDIR
=
$buildBASE
/
$mpiPACKAGE
cd
$MPI_SOURCE_DIR
||
exit
1
export
GIT_DIR
=
$PWD
/.git
# Mask seeing our own git-repo
[
-e
Makefile
]
&&
make distclean 2>/dev/null
rm
-rf
$MPI_ARCH_PATH
rm
-rf
$buildDIR
mkdir
-p
$buildDIR
cd
$buildDIR
set
-x
$MPI_SOURCE_DIR
/configure
\
--prefix
=
$MPI_ARCH_PATH
\
--disable-fortran
--disable-g
\
--libdir
=
$MPI_ARCH_PATH
/lib
$WM_COMPILER_LIB_ARCH
\
--enable-shared
--disable-static
\
$configOpt
\
&&
set
+x
\
&&
make
-j
$WM_NCOMPPROCS
\
&&
make
install
\
&&
echo
"Built:
$mpiPACKAGE
"
\
&&
pkgconfigAdjust
$MPI_ARCH_PATH
)
||
{
echo
"Error building:
$mpiPACKAGE
"
exit
1
}
fi
#------------------------------------------------------------------------------
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment