Get help with installation on cluster

Dear all,

I was trying to install dealii version 9.0.1 on my department cluster using candi first,

Before installing it, I install openmpi-3.0.0-intel

git clone https://github.com/dealii/candi

cd candi

./candi.sh -j 12 --platform=./deal.II-toolchain/platforms/supported/linux_cluster.platform -p /opt/bin/

but I got the following messages:


This is candi (compile and install)

Project: deal.II-toolchain: Found configuration.

using (user-forced) ././deal.II-toolchain/platforms/supported/linux_cluster.platform.

Operating System Type detected as: linux

Dynamic shared library file extension detected as: *.so


Please read carefully your operating system notes below!

linux

This build script assumes that you have at least the packages:

automake, autoconf, cmake, gcc, openmpi, blas, lapack, and

git, cmake, zlib and bzip2

installed.

The packages

git, cmake, zlib and bzip2

can be installed with candi by selecting them in the candi.cfg file.

Please note that this platform description is only a hint for

dependencies and cannot ensure a successful build. Look into other

platform descriptions for further dependencies.


Please make sure you’ve read the instructions above and your system

is ready for installing deal.II-toolchain.

If not, please abort the installer by pressing <CTRL> + <C> !

Then copy and paste these instructions into this terminal.

Once ready, hit enter to continue!


candi tries now to download, configure, build and install:

Project: deal.II-toolchain

Platform: ./deal.II-toolchain/platforms/supported/linux_cluster.platform


Downloading files to: /opt/bin//tmp/src

Unpacking files to: /opt/bin//tmp/unpack

Building packages in: /opt/bin//tmp/build

Installing packages in: /opt/bin/

Package configuration in: /opt/bin//configuration


Number of (at most) build processes to use: PROCS=12


Packages:

load:dealii-prepare

once:opencascade

once:parmetis

once:hdf5

once:p4est

once:trilinos

once:petsc

once:slepc

dealii


Building stable releases of deal.II-toolchain packages.


Currently loaded modulefiles:

No Modulefiles Currently Loaded.

Compiler Variables:


CC = /opt/openmpi-3.0.0-intel/bin/mpicc

CXX = /opt/openmpi-3.0.0-intel/bin/mpicxx

FC = /opt/openmpi-3.0.0-intel/bin/mpif90

FF = /opt/openmpi-3.0.0-intel/bin/mpif77


Once ready, hit enter to continue!

After that I got the following error:

[ 92%] Building CXX object examples/CMakeFiles/step-10.release.dir/step-10/step-10.cc.o

make[2]: *** [bin/step-13.release] Error 1

make[1]: *** [examples/CMakeFiles/step-13.release.dir/all] Error 2

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<1, 2>::StraightBoundary()’

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<3, 3>::StraightBoundary()’

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<1, 3>::StraightBoundary()’

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<1, 1>::StraightBoundary()’

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<3, 3>::StraightBoundary()’

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<2, 2>::StraightBoundary()’

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<2, 3>::StraightBoundary()’

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<1, 1>::StraightBoundary()’

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<1, 2>::StraightBoundary()’

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<2, 3>::StraightBoundary()’

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<2, 2>::StraightBoundary()’

make[2]: *** [bin/step-12.release] Error 1

make[1]: *** [examples/CMakeFiles/step-12.release.dir/all] Error 2

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<1, 2>::StraightBoundary()’

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<3, 3>::StraightBoundary()’

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<1, 3>::StraightBoundary()’

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<1, 1>::StraightBoundary()’

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<3, 3>::StraightBoundary()’

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<2, 2>::StraightBoundary()’

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<2, 3>::StraightBoundary()’

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<1, 1>::StraightBoundary()’

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<1, 2>::StraightBoundary()’

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<2, 3>::StraightBoundary()’

…/lib/libdeal_II.so.9.0.1: undefined reference to `dealii::StraightBoundary<2, 2>::StraightBoundary()’

make[2]: *** [bin/step-16.release] Error 1

make[1]: *** [examples/CMakeFiles/step-16.release.dir/all] Error 2

[ 92%] Built target deal_II.g

make: *** [all] Error 2

Failure with exit status: 2

Exit message: There was a problem building dealii v9.0.1.

Many thanks for any suggestion.

michael

  1. What is your compiler (try mpicxx -v)?
  2. What do you mean by “Before installing it, I install openmpi-3.0.0-intel”?
  3. You could try setting
    DEAL_CONFOPTS="-D DEAL_II_COMPONENT_EXAMPLES=OFF"
    in candi.cfg. Not sure if this allows you to build ASPECT, but it should get around this error.

Thank you for your help. I set DEAL_CONFOPTS="-D DEAL_II_COMPONENT_EXAMPLES=OFF"
in candi.cfg as you said. and then I can install dealii indeed.

but I got this error information when I install ASPECT.

[ 90%] Building CXX object CMakeFiles/aspect.dir/source/termination_criteria/user_request.cc.o
[ 90%] Building CXX object CMakeFiles/aspect.dir/source/termination_criteria/end_step.cc.o
[ 91%] Building CXX object CMakeFiles/aspect.dir/source/termination_criteria/end_walltime.cc.o
[ 91%] Building CXX object CMakeFiles/aspect.dir/source/termination_criteria/end_time.cc.o
[ 91%] Building CXX object CMakeFiles/aspect.dir/source/utilities.cc.o
[ 92%] Building CXX object CMakeFiles/aspect.dir/source/boundary_heat_flux/interface.cc.o
/opt/bin/aspect/contrib/catch/catch.hpp(623): internal error: assertion failed: adjust_cleanup_state_for_aggregate_init: NULL dip (shared/cfe/edgcpfe/lower_init.c, line 9020)

      Normal = 0x01,
      ^

compilation aborted for /opt/bin/aspect/source/main.cc (code 4)
make[2]: *** [CMakeFiles/aspect.dir/source/main.cc.o] Error 4
make[2]: *** Waiting for unfinished jobs…
make[1]: *** [CMakeFiles/aspect.dir/all] Error 2
make: *** [all] Error 2

Internal compiler error means you need to look into switching compilers. That is not something we can address. Also, see my question 1&2 above.

Thank you for your patience first.

I will describe my operations carefully.
before installing dealii, I install the openmpi-3.0.0-intel first. After that I set some enviroment variables:

source /opt/intel/composer_xe_2015/bin/compilervars.sh intel64
source /opt/intel/mkl/bin/intel64/mklvars_intel64.sh
export PATH=/opt/openmpi-3.0.0-intel/bin:$PATH
export INCLUDE=/opt/openmpi-3.0.0-intel/include:$INCLUDE
export LIBRARY_PATH=/opt/openmpi-3.0.0-intel/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/openmpi-3.0.0-intel/lib:$LD_LIBRARY_PATH
export MANPATH=/opt/openmpi-3.0.0-intel/share/man:$MANPATH

and then set the compiler enviroment variables to
$ export CC=mpicc; export CXX=mpicxx; export FC=mpif90; export FF=mpif77

git clone https://github.com/dealii/candi
cd candi
./candi.sh -j 12 --platform=./deal.II-toolchain/platforms/supported/linux_cluster.platform -p /opt/bin/

my setting is ok? how should I do now?
Looking forward to your kind reply:smile:

Why do you install your own MPI? This is typically a bad idea. If this is a cluster, your admins should install and correctly configure MPI.

You seem to be using a very old intel compiler version that crashes while compiling. I would suggest you either switch to gcc or at least update the compiler to something newer. In general, we have had very mixed experience with the intel compiler and recommend using gcc or clang if at all possible.

Thank you for your suggestion. I wanna let you and the others know that your suggestion is right. After I switch to openmpi-4.0.0-gnu, I install it successfully. But I wander whether I can use intel mpi. which one is best performance between intel mpia and openmpi?

Yes, Intel MPI works and some of us use it regularly.

I haven’t seen a big difference. More important is the correct installation and configuration, which should be done by an admin of the cluster.

you solve my problem. thanks for your help.