Dealii & trilinos

42 views
Skip to first unread message

Victor Eijkhout

unread,
May 1, 2020, 4:59:51 PM5/1/20
to deal.II User Group
I'm using trilinos 12.18.1

This is the most error-like statement that I can find. Other files attached.

```
/opt/apps/gcc/8.3.0/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/cmTC_29f85.dir/src.cxx.o:(.rodata._ZTVN7Teuchos11DescribableE__N6Tpetra11MultiVectorIdijN6Kokkos6Compat23KokkosDeviceWrapperNodeINS2_6SerialENS2_9HostSpaceEEEEE__NS0_6VectorIdijS7_EE[_ZTVN7Teuchos11DescribableE__N6Tpetra11MultiVectorIdijN6Kokkos6Compat23KokkosDeviceWrapperNodeINS2_6SerialENS2_9HostSpaceEEEEE__NS0_6VectorIdijS7_EE]+0x38): undefined reference to `virtual thunk to Tpetra::MultiVector<double, int, unsigned int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> >::describe(Teuchos::basic_FancyOStream<char, std::char_traits<char> >&, Teuchos::EVerbosityLevel) const'
gmake[1]: *** [cmTC_29f85] Error 1
gmake[1]: Leaving directory `/tmp/dealii-build/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_29f85/fast] Error 2


Source file was:

        #include <Tpetra_Vector.hpp>
        int
        main()
        {
          using LO       = int;
          using GO       = unsigned int;
          using Node     = Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial>;
          using map_type = Tpetra::Map<LO, GO, Node>;
          Teuchos::RCP<const map_type>         dummy_map = Teuchos::rcp(new map_type());
          Tpetra::Vector<double, LO, GO, Node> dummy_vector(dummy_map);
          (void)dummy_vector;
          return 0;
        }

Performing C++ SOURCE FILE Test TRILINOS_CXX_SUPPORTS_SACADO_COMPLEX_RAD failed with the following output:
Change Dir: /tmp/dealii-build/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/gmake cmTC_dc3f4/fast && /usr/bin/gmake -f CMakeFiles/cmTC_dc3f4.dir/build.make CMakeFiles/cmTC_dc3f4.dir/build
gmake[1]: Entering directory `/tmp/dealii-build/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_dc3f4.dir/src.cxx.o
/opt/intel/compilers_and_libraries_2019.5.281/linux/bin/intel64/icpc   -I/home1/apps/intel19/impi19_0/trilinos/12.18.1/include  -DTRILINOS_CXX_SUPPORTS_SACADO_COMPLEX_RAD -std=c++14   -o CMakeFiles/cmTC_dc3f4.dir/src.cxx.o -c /tmp/dealii-build/CMakeFiles/CMakeTmp/src.cxx
/tmp/dealii-build/CMakeFiles/CMakeTmp/src.cxx(6): error: namespace "std" has no member "complex"
              std::complex<Sacado::Rad::ADvar<double> > complex_sacado_rad_double; // Doesn't work
                   ^

/tmp/dealii-build/CMakeFiles/CMakeTmp/src.cxx(6): error: type name is not allowed
```
deal-trilinos-error.tgz

Matthias Maier

unread,
May 1, 2020, 7:39:25 PM5/1/20
to dea...@googlegroups.com

On Fri, May 1, 2020, at 15:59 CDT, Victor Eijkhout <eijk...@tacc.utexas.edu> wrote:

> I'm using trilinos 12.18.1
>
> This is the most error-like statement that I can find. Other files attached.

The actual error message (and why configure fails) is here:


12442 -- Include /admin/build/admin/rpms/frontera/BUILD/dealii-9.1.1/cmake/configure/configure_2_trilinos.cmake
12443 CMake Error at /home1/apps/intel19/impi19_0/trilinos/12.18.1/lib/cmake/ShyLU/ShyLUConfig.cmake:156 (INCLUDE):
12444 INCLUDE could not find load file:
12445
12446 /home1/apps/intel19/impi19_0/trilinos/12.18.1/lib/cmake/ShyLU/../ShyLU_Node/ShyLU_NodeConfig.cmake
12447 Call Stack (most recent call first):
12448 /home1/apps/intel19/impi19_0/trilinos/12.18.1/lib/cmake/Trilinos/TrilinosConfig.cmake:130 (INCLUDE)
12449 cmake/macros/macro_find_package.cmake:27 (_FIND_PACKAGE)
12450 cmake/modules/FindTRILINOS.cmake:38 (FIND_PACKAGE)
12451 cmake/macros/macro_find_package.cmake:27 (_FIND_PACKAGE)
12452 cmake/configure/configure_2_trilinos.cmake:22 (FIND_PACKAGE)
12453 /tmp/dealii-build/CMakeFiles/CMakeTmp/evaluate_expression.tmp:1 (FEATURE_TRILINOS_FIND_EXTERNAL)
12454 cmake/macros/macro_evaluate_expression.cmake:30 (INCLUDE)
12455 cmake/macros/macro_configure_feature.cmake:237 (EVALUATE_EXPRESSION)
12456 cmake/configure/configure_2_trilinos.cmake:303 (CONFIGURE_FEATURE)
12457 cmake/macros/macro_verbose_include.cmake:19 (INCLUDE)
12458 CMakeLists.txt:124 (VERBOSE_INCLUDE)


This implies that the CMake configuration that gets installed by
Trilinos is broken.

The file

/home1/apps/intel19/impi19_0/trilinos/12.18.1/lib/cmake/ShyLU/ShyLUConfig.cmake

contains an include on line 156

INCLUDE("${CMAKE_CURRENT_LIST_DIR}/../ShyLU_Node/ShyLU_NodeConfig.cmake")

pointing to a nonexistant file

/home1/apps/intel19/impi19_0/trilinos/12.18.1/lib/cmake/ShyLU/../ShyLU_Node/ShyLU_NodeConfig.cmake


Why you did end up in this situation I cannot tell. The lazy approach
for making deal.II configure is to manually fix the cmake file by
commenting out the include.

As a quick smoke test:

$ cd test
$ cat CMakeLists.txt
CMAKE_MINIMUM_REQUIRED(VERSION 3.0)
PROJECT(test CXX)
find_package(Trilinos REQUIRED)
$ cmake .
$

has to configure. Otherwise the Trilinos configuration is broken.

MM

Victor Eijkhout

unread,
May 1, 2020, 8:32:56 PM5/1/20
to dea...@googlegroups.com

On , 2020May1, at 18:39, Matthias Maier <tam...@43-1.org> wrote:

This implies that the CMake configuration that gets installed by
Trilinos is broken. 

Well well well.

The file

 /home1/apps/intel19/impi19_0/trilinos/12.18.1/lib/cmake/ShyLU/ShyLUConfig.cmake

contains an include on line 156

 INCLUDE("${CMAKE_CURRENT_LIST_DIR}/../ShyLU_Node/ShyLU_NodeConfig.cmake")

pointing to a nonexistant file

 /home1/apps/intel19/impi19_0/trilinos/12.18.1/lib/cmake/ShyLU/../ShyLU_Node/ShyLU_NodeConfig.cmake

I’ll add that to my post-installation sed script that I run on the trilinos install. You guys have been great in spotting a bunch of those fixes before.

Maybe the trilinos guys should add doing a dealii install to their regression test.

Victor.

Reply all
Reply to author
Forward
0 new messages