152 lines
4.7 KiB
Plaintext
152 lines
4.7 KiB
Plaintext
OpenFOAM-1712
|
|
==================
|
|
Known Build Issues
|
|
==================
|
|
|
|
---------------------
|
|
Intel MPI (Gcc/Clang)
|
|
---------------------
|
|
|
|
Either I_MPI_ROOT or MPI_ROOT can be used to specify the Intel-MPI
|
|
installation directory path.
|
|
|
|
The ThirdParty build of ptscotch uses `mpiicc` for Intel-MPI
|
|
instead of the usual `mpicc`.
|
|
When gcc or clang are used, it is highly likely that the
|
|
I_MPI_CC environment variable also needs to be set accordingly.
|
|
|
|
See `mpiicc -help` for more information about environment variables.
|
|
|
|
|
|
--------------
|
|
Intel Compiler
|
|
--------------
|
|
|
|
Since OpenFOAM uses C++11, a fairly recent version is required.
|
|
The Intel compiler - icc (ICC) 17.0.1 20161005 is ok, but the
|
|
initial release - icc (ICC) 17.0.0 20160721 - has a bug that
|
|
will result in these types of error messages.
|
|
|
|
MatrixSpaceI.H(492): error: no instance of overloaded function
|
|
"Foam::MatrixSpace<Form, Cmpt, Mrows, Ncols>::Block<SubTensor,
|
|
BRowStart, BColStart>::operator=" matches the specified type
|
|
|
|
|
|
---
|
|
VTK
|
|
---
|
|
|
|
If using the runTimePostProcessing to create on-the-fly images, you
|
|
can simply just compile ParaView and these libraries will be used.
|
|
|
|
If you elect to use a separate VTK compilation (for example for
|
|
off-screen rendering), it is advisable to reuse the VTK libraries that
|
|
are provided with ParaView by making an appropriate symlink
|
|
prior to using makeVTK. This doesn't just reduce disk-space, but works
|
|
much better than using the VTK tar file.
|
|
|
|
Using runTimePostProcessing with the 'plain' VTK libraries does
|
|
generally work, but does not exit cleanly:
|
|
|
|
symbol lookup error: .../linux64Gcc/VTK-7.1.0/lib/libvtkCommonExecutionModel-7.1.so.1:
|
|
undefined symbol: _ZN33vtkFilteringInformationKeyManager13ClassFinalizeEv
|
|
|
|
symbol lookup error: .../linux64Gcc/VTK-7.1.0/lib/libvtkCommonDataModel-7.1.so.1:
|
|
undefined symbol: _ZN49vtkInformationQuadratureSchemeDefinitionVectorKeyD1Ev
|
|
|
|
This error appears to be suppressed if VTK is compiled with a Debug build-type.
|
|
|
|
|
|
-------------------------
|
|
Building on older systems
|
|
-------------------------
|
|
|
|
If the system gcc is too old for building OpenFOAM, a third-party gcc or
|
|
clang/llvm installation can be used. If building clang/llvm, note that
|
|
there are also minimum gcc/g++ requirements there:
|
|
|
|
Min gcc/g++
|
|
=========== ==========
|
|
4.4 llvm-3.4.2
|
|
4.7 llvm-3.5.2 - llvm-3.7.0
|
|
|
|
|
|
If your system compiler is too old to build the minimum required gcc or
|
|
clang/llvm, it is just simply too old.
|
|
|
|
|
|
---------------------------------
|
|
ThirdParty clang without gmp/mpfr
|
|
---------------------------------
|
|
|
|
If using ThirdParty clang without gmp/mpfr, the ThirdParty makeCGAL
|
|
script will need to be run manually and specify that there is no
|
|
gmp/mpfr. Eg,
|
|
|
|
cd $WM_THIRD_PARTY_DIR
|
|
./makeCGAL gmp-none mpfr-none
|
|
|
|
Subequent compilation with Allwmake will now run largely without any
|
|
problems, except that the components linking against CGAL
|
|
(foamyMesh and surfaceBooleanFeatures) will also try to link against
|
|
a nonexistent mpfr library. As a workaround, the link-dependency can
|
|
be removed in wmake/rules/General/CGAL :
|
|
|
|
CGAL_LIBS = \
|
|
-L$(BOOST_ARCH_PATH)/lib \
|
|
-L$(BOOST_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
|
|
-L$(CGAL_ARCH_PATH)/lib \
|
|
-L$(CGAL_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
|
|
-lCGAL
|
|
|
|
This is a temporary inconvenience until a more robust solution is found.
|
|
|
|
|
|
-------------------------
|
|
Building with spack
|
|
-------------------------
|
|
|
|
If you are building with spack, note that the depends_on for paraview
|
|
resolves poorly. The +qt dependency (for building the reader module)
|
|
may need to be specified as a preference by including the following in
|
|
your `~/.spack/packages.yaml` file:
|
|
|
|
packages:
|
|
paraview:
|
|
variants: +qt
|
|
|
|
It appears that spack will otherwise ignore any paraview+qt version
|
|
and attempt to install a paraview~qt version instead.
|
|
|
|
---------------------------
|
|
Building on Darwin (Mac-OS)
|
|
---------------------------
|
|
|
|
Support for Darwin is incomplete, but has been provisioned for.
|
|
|
|
The following are typical (as of yet) unresolved issues.
|
|
|
|
* Scotch, ptscotch:
|
|
- The librt linkage is required for Linux, but not for Darwin.
|
|
|
|
Current resolution:
|
|
Edit or patch
|
|
src/parallel/decompose/ptscotchDecomp/Make/options
|
|
src/parallel/decompose/scotchDecomp/Make/options
|
|
|
|
to remove the '-lrt' library
|
|
|
|
* CGAL:
|
|
- ThirdParty CGAL will normally need to be compiled without mpfr/gmp.
|
|
This should be done manually prior to building OpenFOAM or other
|
|
ThirdParty. Eg,
|
|
|
|
cd $WM_THIRD_PARTY_DIR
|
|
./makeCGAL gmp-none mpfr-none
|
|
|
|
The erroneous references to gmp/mpfr library can be directly removed
|
|
from the wmake/rules/General/CGAL, but it is more advisable to
|
|
override them instead in the wmake/rules/darwin64Clang/CGAL file.
|
|
|
|
--
|