Issues with Candi on CentosOS 7

Hi everyone,

I’ve been struggling to instal deal.ii on a new HPC through Candi and I’ve consistently been getting this error:

"Include /home/college/ag423y/bin/tmp/unpack/deal.II-v9.4.2/cmake/setup_finalize.cmake
– Performing Test DEAL_II_HAVE_USABLE_FLAGS_DEBUG
– Performing Test DEAL_II_HAVE_USABLE_FLAGS_DEBUG - Failed
– Unable to compile a simple test program. Trying to drop “-fuse-ld=gold” from the linker flags.
– Performing Test DEAL_II_HAVE_USABLE_FLAGS_DEBUG
– Performing Test DEAL_II_HAVE_USABLE_FLAGS_DEBUG - Failed
CMake Error at cmake/setup_finalize.cmake:137 (MESSAGE):

Configuration error: Cannot compile a test program with the final set of
compiler and linker flags:
  CXX flags (DEBUG): -pedantic -fPIC -Wall -Wextra -Wmissing-braces -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wsuggest-override -Wswitch -Wsynth -Wwrite-strings -Wno-placement-new -Wno-deprecated-declarations -Wno-literal-suffix -Wno-psabi -Wno-class-memaccess -fopenmp-simd -Wno-parentheses -Wno-unused-local-typedefs -O0 -ggdb -Wa,--compress-debug-sections
  LD flags  (DEBUG): -rdynamic  -ggdb"

My PETSc version is 3.16.4 and my version of GNU make is older than 4.0.0 which I realise are quite old!

Could this be gnu id issue because my version is so old? And if so is there a work around it? because my IT admin are bit hesitant when it comes to updates.

I’ve also double checked that my modules are loaded (openmpi/1.10.7 & gcc/9.3.0) and that I’ve set the right compiler variables. I’m also excluding all the packages in Candi except for Trilinos, p4est, deal.ii and hdf5. And I’ve deleted all pervious folders with previous attempts at installation so my directory is completely clean.

Any suggestions or comments on how to resolve this would be really appreciated

Thanks,
Antoniette

Hi Antoniette,

The local cluster I use has Centos7, and I don’t recall seeing this error with deal.II 9.4.0 installed via candi.

One question - you mention PETSc 3.16.4. In what capacity is that being used if it is not installed with deal.II?

I’m not sure the make version (did you mean cmake?) is an issue - if the version of cmake is too old, deal.II builds a new version (at least that is what I recall).

If you can’t find a solution soon either myself or someone else using the cluster can try building with deal.II 9.4.2 and see if we can reproduce the error.

Cheers,
John

Hi John,

When building deal.ii this is what I get printed to screen:

“This is CMake 3.20.5”

Similarly PETSc is also being installed with deal.ii but during the configuration stages I get the two following warnings:

“++++++++++++++++++++++++++++++++++++++++++++++++++++++
The version of PETSc you are using is out-of-date, we recommend updating to a new the release Available Version: 3.18.4 Installed Version: 3.16.4
https://petsc.org/release/download/
++++++++++++++++++++++++++++++++++++++++++++++++++++++”

and

“*****WARNING: You have a version of GNU male older than 4.0. It will work but may not support all parallel testing options. You can install the --download-make-option to get the latest GNU make *****”

I should mention that I am installing candi using the following command:

“./candi.sh -p /home/college/ag423y/bin -j11”

Using:

“./candi.sh --platform=./deal.II-toolchain/platforms/supported/linux_cluster.platform”

gives me the following error:

“Verifying trilinos-release-13-2-0.tar.gz
trilinos-release-13-2-0.tar.gz: OK(md5)
Unpacking trilinos-release-13-2-0.tar.gz
Building trilinos 13-2-0
./candi_configure: line 122: cmake: command not found”

Thanks again,
Antoniette

Antoniette,

The instructions in the ASPECT manual fail to mention that you don’t need most of the dependencies it tries to install, which include PETSc. If you go into the candi.cfg, you can disable everything except “p4est”, “trilinos”, “hdf5”, and “deal.II”.
Besides, the “out of date warning” is something you can safely ignore.

./candi_configure: line 122: cmake: command not found”

I would guess that the cluster has “cmake” but you might need to load a module to get it. Otherwise, you can also install a version through candi (also see candi.cfg and uncomment that line), but I would go with the system install first.

Hiya!

Thanks Timo, this resolved the cmake and the PETSc issues but I’m still getting the original error:

"-- Include /home/college/ag423y/dealii-candi/tmp/unpack/deal.II-v9.4.2/cmake/configure/configure_50_vectorization.cmake

– Include /home/college/ag423y/dealii-candi/tmp/unpack/deal.II-v9.4.2/cmake/setup_cpack.cmake

– Include /home/college/ag423y/dealii-candi/tmp/unpack/deal.II-v9.4.2/cmake/setup_custom_targets.cmake

– Include /home/college/ag423y/dealii-candi/tmp/unpack/deal.II-v9.4.2/cmake/setup_finalize.cmake
– Performing Test DEAL_II_HAVE_USABLE_FLAGS_DEBUG
– Performing Test DEAL_II_HAVE_USABLE_FLAGS_DEBUG - Failed
– Unable to compile a simple test program. Trying to drop “-fuse-ld=gold” from the linker flags.
– Performing Test DEAL_II_HAVE_USABLE_FLAGS_DEBUG
– Performing Test DEAL_II_HAVE_USABLE_FLAGS_DEBUG - Failed
CMake Error at cmake/setup_finalize.cmake:137 (MESSAGE):

Configuration error: Cannot compile a test program with the final set of
compiler and linker flags:
  CXX flags (DEBUG): -pedantic -fPIC -Wall -Wextra -Wmissing-braces -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wsuggest-override -Wswitch -Wsynth -Wwrite-strings -Wno-placement-new -Wno-deprecated-declarations -Wno-literal-suffix -Wno-psabi -Wno-class-memaccess -fopenmp-simd -Wno-parentheses -Wno-unused-local-typedefs -O0 -ggdb -Wa,--compress-debug-sections
  LD flags  (DEBUG): -rdynamic  -ggdb" 

I’m not really sure what to try next!

Thanks,
Antoniette

What HPC system is this?
Is documentation available online?
What modules for compilers and MPI did you load?
What does mpicxx -v say?

Hi Timo,

This is the University of Glasgow College of Science and Engineering Buckethead HPC. There is very limited documentation here https://wiki.eng.gla.ac.uk/hpc/index.php?title=Resources#Buckethead and https://wiki.eng.gla.ac.uk/hpc/index.php?title=Main_Page

These are the modules I loaded:

module load mpi/openmpi/1.10.7
module load gcc/9.3.0

These are my compiler variables:

CC = /software/mpi/openmpi/1.10.7/bin/mpicc
CXX = /software/mpi/openmpi/1.10.7/bin/mpicxx
FC = /software/mpi/openmpi/1.10.7/bin/mpif90
FF = /software/mpi/openmpi/1.10.7/bin/mpif77

And my version of mpicxx is:

“Using built-in specs.
COLLECT_GCC=/software/compilers/gcc/9.3.0/bin/g++
COLLECT_LTO_WRAPPER=/software/compilers/gcc/9.3.0/libexec/gcc/x86_64-pc-linux-gnu/9.3.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: …/gcc-9.3.0/configure --prefix=/software/compilers/gcc/9.3.0
Thread model: posix
gcc version 9.3.0 (GCC)”

Small update: I have managed to install deal.ii, trilinos & p4est separately by running:

./candi.sh --packages=“p4est” -j13

and so on for each of the packages.

This worked fine without throwing any errors. I’m not sure why installing the packages individually works but trying to install them together through (commenting out all the other packages) ./candi.sh --platform=deal.II-toolchain/platforms/supported/centos7.platform -j12 throws the error above!

Cheers,
Antoniette

Hi everyone,

Update 2: installing the individual packages only got me so far!

When I tried to test the installation by compiling and running step-32 from the examples folder, I’ve hit the following issue:

"CMake Error at CMakeLists.txt:44 (MESSAGE):

Error! This tutorial requires a deal.II library that was configured with
the following options:

  DEAL_II_WITH_MPI = ON
  DEAL_II_WITH_P4EST = ON
  DEAL_II_WITH_TRILINOS = ON

However, the deal.II library found at
/home/college/ag423y/dealii-candi/deal.II-v9.4.2 was configured with these
options:

  DEAL_II_WITH_MPI = ON
  DEAL_II_WITH_P4EST = OFF
  DEAL_II_WITH_TRILINOS = OFF

This conflicts with the requirements.

– Configuring incomplete, errors occurred!"

It seems that installing the packages individually means that the deal.ii is automatically configured with P4est and trilinos off.

On the other hand if I configure deal.ii with p4est and trilions on I will run into the same error as above!

Try the following

./candi.sh -j 10 --packages="p4est trilinos dealii" --platform=deal.II-toolchain/platforms/supported/linux_cluster.platform

and report if there are any errors.

Hi Timo,

I’ve tried installing the packages together just like you suggested but using:

./candi.sh -j 10 --packages=“p4est trilinos dealii” --platform=deal.II-toolchain/platforms/supported/linux_cluster.platform

I’ve ran into a cmake issue:

./candi_configure: line 126: cmake: command not found
Failure with exit status: 127
Exit message: There was a problem configuring trilinos 13-2-0.

It seems that on our HPC we have cmake3 instead of cmake

I’ve tried running instead:

" /candi.sh -j 10 --packages=“p4est trilinos dealii” --platform=deal.II-toolchain/platforms/supported/centos7.platform"

This resolves the cmake issue and everything goes on as normal until we get to the usual stage:

Performing Test DEAL_II_HAVE_USABLE_FLAGS_DEBUG

and then it throws the same error as above. Reposted here for continuity:

"Include /home/college/ag423y/dealii-candi/tmp/unpack/deal.II-v9.4.2/cmake/setup_finalize.cmake
– Performing Test DEAL_II_HAVE_USABLE_FLAGS_DEBUG
– Performing Test DEAL_II_HAVE_USABLE_FLAGS_DEBUG - Failed
– Unable to compile a simple test program. Trying to drop “-fuse-ld=gold” from the linker flags.
– Performing Test DEAL_II_HAVE_USABLE_FLAGS_DEBUG
– Performing Test DEAL_II_HAVE_USABLE_FLAGS_DEBUG - Failed
CMake Error at cmake/setup_finalize.cmake:137 (MESSAGE):

Configuration error: Cannot compile a test program with the final set of
compiler and linker flags:
  CXX flags (DEBUG): -pedantic -fPIC -Wall -Wextra -Wmissing-braces -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wsuggest-override -Wswitch -Wsynth -Wwrite-strings -Wno-placement-new -Wno-deprecated-declarations -Wno-literal-suffix -Wno-psabi -Wno-class-memaccess -fopenmp-simd -Wno-parentheses -Wno-unused-local-typedefs -O0 -ggdb -Wa,--compress-debug-sections
  LD flags  (DEBUG): -rdynamic  -ggdb"

Thanks,
Antoniette

Can you post the content of the following files?

/home/college/ag423y/dealii-candi/tmp/build/deal.II-v9.4.2/detailed.log
/home/college/ag423y/dealii-candi/tmp/build/deal.II-v9.4.2/CMakeFiles/CMakeError.log

Hi Timo,

I’ve attached the CMakeError.log but
/home/college/ag423y/dealii-candi/tmp/build/deal.II-v9.4.2/detailed.log does not exist (you can the contents of my /home/college/ag423y/dealii-candi/tmp/build in the image attached)


CMakeError.log (177.3 KB)

Thanks,
Antoniette