Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deallii / Trilinos interaction #14870

Closed
VictorEijkhout opened this issue Mar 10, 2023 · 3 comments
Closed

Deallii / Trilinos interaction #14870

VictorEijkhout opened this issue Mar 10, 2023 · 3 comments

Comments

@VictorEijkhout
Copy link

Here's the problem:

[ 52%] Building CXX object source/numerics/CMakeFiles/obj_numerics_release.dir/data_out_faces.cc.o
cd /work2/00434/eijkhout/dealii/build-9.4.1-clx-intel-impi/source/numerics && /scratch1/projects/compilers/oneapi_2022.3.0/mpi/latest/bin/mpicxx -DNDEBUG -I/work2/00434/eijkhout/dealii/build-9.4.1
-clx-intel-impi/source/numerics -I/work2/00434/eijkhout/dealii/build-9.4.1-clx-intel-impi/include -I/work2/00434/eijkhout/dealii/dealii-9.4.1/include -I/work2/00434/eijkhout/dealii/dealii-9.4.1/bu
ndled/tbb-2018_U2/include -I/work2/00434/eijkhout/dealii/dealii-9.4.1/bundled/boost-1.70.0/include -I/work2/00434/eijkhout/dealii/dealii-9.4.1/bundled/umfpack/UMFPACK/Include -I/work2/00434/eijkho
ut/dealii/dealii-9.4.1/bundled/umfpack/AMD/Include -I/work2/00434/eijkhout/dealii/dealii-9.4.1/bundled/muparser_v2_3_3/include -isystem /work2/00434/eijkhout/trilinos/installation-13-4-1-clx-intel
-impi/include -isystem /work2/00434/eijkhout/boost/installation-1_81_0-clx-intel/include -isystem /scratch1/projects/compilers/oneapi_2022.3.0/mkl/latest/include -isystem /work2/00434/eijkhout/pet
sc/petsc-3.18.3/include -isystem /work2/00434/eijkhout/petsc/petsc-3.18.3/clx-intel-impi/include -isystem /work2/00434/eijkhout/p4est/installation-2.8-clx-intel-impi/include -fpic -w2 -diag-disabl
e=remark -wd21 -wd68 -wd135 -wd175 -wd177 -wd191 -wd193 -wd279 -wd327 -wd383 -wd854 -wd981 -wd1418 -wd1478 -wd1572 -wd2259 -wd2536 -wd2651 -wd3415 -wd15531 -wd15552 -wd111 -wd128 -wd185 -wd186 -wd
280 -qopenmp-simd -march=native -Wno-parentheses -O2 -no-ansi-alias -ip -funroll-loops -MD -MT source/numerics/CMakeFiles/obj_numerics_release.dir/data_out_faces.cc.o -MF CMakeFiles/obj_numerics_r
elease.dir/data_out_faces.cc.o.d -o CMakeFiles/obj_numerics_release.dir/data_out_faces.cc.o -c /work2/00434/eijkhout/dealii/dealii-9.4.1/source/numerics/data_out_faces.cc
In file included from /work2/00434/eijkhout/trilinos/installation-13-4-1-clx-intel-impi/include/Kokkos_Atomic.hpp(76),
                 from /work2/00434/eijkhout/trilinos/installation-13-4-1-clx-intel-impi/include/Kokkos_Complex.hpp(47),
                 from /work2/00434/eijkhout/trilinos/installation-13-4-1-clx-intel-impi/include/Teuchos_ScalarTraits.hpp(59),
                 from /work2/00434/eijkhout/trilinos/installation-13-4-1-clx-intel-impi/include/Sacado_Fad_ScalarTraitsImp.hpp(37),
                 from /work2/00434/eijkhout/trilinos/installation-13-4-1-clx-intel-impi/include/Sacado_Fad_Exp_GeneralFadTraits.hpp(181),
                 from /work2/00434/eijkhout/trilinos/installation-13-4-1-clx-intel-impi/include/Sacado.hpp(52),
                 from /work2/00434/eijkhout/dealii/dealii-9.4.1/include/deal.II/base/numbers.h(146),
                 from /work2/00434/eijkhout/dealii/build-9.4.1-clx-intel-impi/include/deal.II/base/config.h(544),
                 from /work2/00434/eijkhout/dealii/dealii-9.4.1/source/dofs/dof_handler.cc(16):
In file included from /work2/00434/eijkhout/trilinos/installation-13-4-1-clx-intel-impi/include/Kokkos_Atomic.hpp(76),
                 from /work2/00434/eijkhout/trilinos/installation-13-4-1-clx-intel-impi/include/Kokkos_Complex.hpp(47),
                 from /work2/00434/eijkhout/trilinos/installation-13-4-1-clx-intel-impi/include/Teuchos_ScalarTraits.hpp(59),
                 from /work2/00434/eijkhout/trilinos/installation-13-4-1-clx-intel-impi/include/Sacado_Fad_ScalarTraitsImp.hpp(37),
                 from /work2/00434/eijkhout/trilinos/installation-13-4-1-clx-intel-impi/include/Sacado_Fad_Exp_GeneralFadTraits.hpp(181),
                 from /work2/00434/eijkhout/trilinos/installation-13-4-1-clx-intel-impi/include/Sacado.hpp(52),
                 from /work2/00434/eijkhout/dealii/dealii-9.4.1/include/deal.II/base/numbers.h(146),
                 from /work2/00434/eijkhout/dealii/build-9.4.1-clx-intel-impi/include/deal.II/base/config.h(544),
                 from /work2/00434/eijkhout/dealii/dealii-9.4.1/include/deal.II/lac/block_vector.h(20),
                 from /work2/00434/eijkhout/dealii/dealii-9.4.1/source/lac/chunk_sparse_matrix.cc(16):
/work2/00434/eijkhout/trilinos/installation-13-4-1-clx-intel-impi/include/impl/Kokkos_Utilities.hpp(194): error: namespace "std" has no member class "bool_constant"
      : std::bool_constant<(UnaryPred<Ts>::value || ...)> {};

and here are my compilers and cmake line:

Cmaking with src=/work2/00434/eijkhout/dealii/dealii-9.4.1 build=/work2/00434/eijkhout/dealii/build-9.4.1-clx-intel-impi
Using compilers:
  CC=mpicc, CXX=mpicxx, FC=mpif90
  where:
    mpicc=/scratch1/projects/compilers/oneapi_2022.3.0/mpi/latest/bin/mpicc
    show: icc -I"/scratch1/projects/compilers/oneapi_2022.3.0/mpi/latest/include" -L"/scratch1/projects/compilers/oneapi_2022.3.0/mpi/latest/lib/release" -L"/scratch1/projects/compilers/oneapi_2022.3.0/mpi/latest/lib" -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker "/scratch1/projects/compilers/oneapi_2022.3.0/mpi/latest/lib/release" -Xlinker -rpath -Xlinker "/scratch1/projects/compilers/oneapi_2022.3.0/mpi/latest/lib" -lmpifort -lmpi -ldl -lrt -lpthread
    where icc=/scratch1/projects/compilers/oneapi_2022.3.0/compiler/latest/linux/bin/intel64/icc
    mpicxx=/scratch1/projects/compilers/oneapi_2022.3.0/mpi/latest/bin/mpicxx
    show:  icpc -I"/scratch1/projects/compilers/oneapi_2022.3.0/mpi/latest/include" -L"/scratch1/projects/compilers/oneapi_2022.3.0/mpi/latest/lib/release" -L"/scratch1/projects/compilers/oneapi_2022.3.0/mpi/latest/lib" -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker "/scratch1/projects/compilers/oneapi_2022.3.0/mpi/latest/lib/release" -Xlinker -rpath -Xlinker "/scratch1/projects/compilers/oneapi_2022.3.0/mpi/latest/lib" -lmpicxx -lmpifort -lmpi -ldl -lrt -lpthread
    where icpc=/scratch1/projects/compilers/oneapi_2022.3.0/compiler/latest/linux/bin/intel64/icpc
    mpif90=/scratch1/projects/compilers/oneapi_2022.3.0/mpi/latest/bin/mpif90
    show:  ifort -I"/scratch1/projects/compilers/oneapi_2022.3.0/mpi/latest/include/gfortran" -I"/scratch1/projects/compilers/oneapi_2022.3.0/mpi/latest/include" -L"/scratch1/projects/compilers/oneapi_2022.3.0/mpi/latest/lib/release" -L"/scratch1/projects/compilers/oneapi_2022.3.0/mpi/latest/lib" -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker "/scratch1/projects/compilers/oneapi_2022.3.0/mpi/latest/lib/release" -Xlinker -rpath -Xlinker "/scratch1/projects/compilers/oneapi_2022.3.0/mpi/latest/lib" -lmpifort -lmpi -lrt -lpthread -Wl,-z,now -Wl,-z,relro -Wl,-z,noexecstack -Xlinker --enable-new-dtags -ldl
    where ifort=/scratch1/projects/compilers/oneapi_2022.3.0/compiler/latest/linux/bin/intel64/ifort

cmdline=cmake -D CMAKE_INSTALL_PREFIX=/work2/00434/eijkhout/dealii/installation-9.4.1-clx-intel-impi -D DEAL_II_WITH_MPI=ON -D DEAL_II_CXX_FLAGS=-march=native -D DEAL_II_COMPONENT_EXAMPLES=OFF -D DEAL_II_WITH_P4EST=ON    -D P4EST_DIR=/work2/00434/eijkhout/p4est/installation-2.8-clx-intel-impi -D DEAL_II_WITH_PETSC=ON    -D PETSC_DIR=/work2/00434/eijkhout/petsc/petsc-3.18.3 -D DEAL_II_WITH_TRILINOS=ON -D TRILINOS_DIR=/work2/00434/eijkhout/trilinos/installation-13-4-1-clx-intel-impi                     -D CMAKE_VERBOSE_MAKEFILE=ON                     /work2/00434/eijkhout/dealii/dealii-9.4.1

Trilinos installed without a problem.

@VictorEijkhout
Copy link
Author

trilinos/Trilinos#11652

@bangerth
Copy link
Member

std::bool_constant is a C++17 thing. So my best guess is that Trilinos was built with C++17 enabled, but deal.II was only built with C++14 and so when we recursively #include Trilinos headers, we eventually get to a point where we should be in C++17 mode, but are not. What is the default for your compiler? The compile flags used do not explicitly set a standard.

@VictorEijkhout
Copy link
Author

VictorEijkhout commented Mar 13, 2023

Solved by specifying the C++ language standard.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants