Can't configure with cmake

248 views
Skip to first unread message

Sean Johnson

unread,
Feb 5, 2024, 2:40:37 AM2/5/24
to deal.II User Group
Hey,

I am trying to get deal.ii to compile with p4est and cuda. Due to cuda it also needs MPI and Kokkos from me. I can't even make the make file yet. I tried to find any similar problems in the mailing list and was unable to.

I am running Ubuntu 22.04

The Error at the end reads:
[ 50%] Building CXX object CMakeFiles/CheckCompilerSetupExec.dir/dummy.cpp.o
 /usr/bin/c++   -fopenmp-simd -O0 -ggdb -Wa,--compress-debug-sections -extended-lambda
 -Wext-lambda-captures-this -arch=sm_89 -DKOKKOS_DEPENDENCE -Wno-non-template-friend -o
 CMakeFiles/CheckCompilerSetupExec.dir/dummy.cpp.o -c
 /home/sean/dealii-9.5.2/cmake/macros/check_compiler_setup/dummy.cpp
 c++: error: unrecognized command-line option -Wext-lambda-captures-this
 c++: error: unrecognized command-line option -arch=sm_89
 gmake[2]: *** [CMakeFiles/CheckCompilerSetupExec.dir/build.make:78:
 CMakeFiles/CheckCompilerSetupExec.dir/dummy.cpp.o] Error 1
 gmake[2]: Leaving directory
 '/home/sean/dealii-9.5.2/build/check_compiler_setup/DEAL_II_HAVE_USABLE_FLAGS_DEBUG'
 gmake[1]: *** [CMakeFiles/Makefile2:86: CMakeFiles/CheckCompilerSetupExec.dir/all] Error 2
 gmake[1]: Leaving directory
 '/home/sean/dealii-9.5.2/build/check_compiler_setup/DEAL_II_HAVE_USABLE_FLAGS_DEBUG'
 gmake: *** [Makefile:94: all] Error 2


 CMake Error at cmake/setup_finalize.cmake:126 (message):


     Configuration error: Cannot compile a test program with the final set of
     compiler and linker flags:
       CXX flags (DEBUG): -fopenmp-simd -O0 -ggdb -Wa,--compress-debug-sections
       LD flags  (DEBUG): -rdynamic  -fopenmp -ggdb -Wl,--compress-debug-sections=zlib
       LIBRARIES (DEBUG): rt;

Attached are the output and error logs.

Thanks for any help,
Sean

CMakeOutput.log
CMakeError.log

Bruno Turcksin

unread,
Feb 5, 2024, 10:32:28 AM2/5/24
to deal.II User Group
Sean,

It looks like you are using the wrong compiler. If you want to use CUDA, you should use nvcc_wrapper as your C++ compiler. You want something like `-DCMAKE_CXX_COMPILER=/path/nvcc_wrapper`. You should already have used `nvcc_wrapper` to compiler Kokkos.

Best,

Bruno

Sean Johnson

unread,
Feb 5, 2024, 7:01:11 PM2/5/24
to deal.II User Group
Thanks Bruno,

This was definitely it.

So I have now gotten to running make --jobs=4 install but it has frozen at 82%
I have been sitting on it for about 6 to 7 hours with no change at all. The last line is:
[ 82%] Built target object_non_matching_debug

 and attached are the summary.log and detailed.log

I will keep it running still just incase but from previous installations of dealii this has never happened.

Thanks,
Sean
summary.log
detailed.log

Bruno Turcksin

unread,
Feb 5, 2024, 9:07:01 PM2/5/24
to dea...@googlegroups.com
Sean,

It's possible that you don't have enough RAM and that you are swapping memory which is extremely slow. Try to reinstall using fewer processors.

Best,

Bruno

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to a topic in the Google Groups "deal.II User Group" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dealii/l1tWck3YnHs/unsubscribe.
To unsubscribe from this group and all its topics, send an email to dealii+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/6ad27807-9f07-4a98-9a8b-c1fea625d13an%40googlegroups.com.

Sean Johnson

unread,
Feb 6, 2024, 9:37:44 AM2/6/24
to deal.II User Group
Thanks,

I tried lowering it down to 2 and it looks like two of them were caught a lot earlier. Now I don't make it past 6%. I erased everything from before and recompiled the cmake files and ran with just 2 jobs and again it stuck in the same spot.

Here are the last few lines and logs.

[  6%] Building CXX object bundled/boost-1.70.0/libs/iostreams/src/CMakeFiles/bundled_boost_iostreams_debug.dir/gzip.cpp.o
/home/sean/dealii-9.5.2/bundled/boost-1.70.0/libs/iostreams/src/../../../include/boost/mpl/assert.hpp:193:42: warning: unnecessary parentheses in declaration of ‘assert_arg’ [-Wparentheses]
  193 | template< typename Pred >
      |                                          ^                                                                                    
/home/sean/dealii-9.5.2/bundled/boost-1.70.0/libs/iostreams/src/../../../include/boost/mpl/assert.hpp:193:42: note: remove parentheses
  193 | template< typename Pred >
      |                                          ^                                                                                    
      |                                          -                                                                                    -
/home/sean/dealii-9.5.2/bundled/boost-1.70.0/libs/iostreams/src/../../../include/boost/mpl/assert.hpp:198:42: warning: unnecessary parentheses in declaration of ‘assert_not_arg’ [-Wparentheses]
  198 | template< typename Pred >
      |                                          ^                                                                                                                
/home/sean/dealii-9.5.2/bundled/boost-1.70.0/libs/iostreams/src/../../../include/boost/mpl/assert.hpp:198:42: note: remove parentheses
  198 | template< typename Pred >
      |                                          ^                                                                                                                
      |                                          -                                                                                                                -
[  6%] Building CXX object bundled/boost-1.70.0/libs/iostreams/src/CMakeFiles/bundled_boost_iostreams_debug.dir/mapped_file.cpp.o

Thanks again for your patience and help,
Sean
detailed.log
summary.log

Bruno Turcksin

unread,
Feb 6, 2024, 10:30:19 AM2/6/24
to dea...@googlegroups.com
Sean,

I am not sure what's the issue. It's probably not the issue but make sure that mpi is using nvcc_wrapper as the underlying compiler. If you use OpenMPI, you can use export `OMPI_CXX=nvcc_wrapper`. You could also try to use a newer version of Boost. The bundled version is pretty old. Since you are using Ubuntu 22.04, you can just use your package manager to install a newer version of boost.

Best,

Bruno

Sean Johnson

unread,
Feb 6, 2024, 4:41:22 PM2/6/24
to deal.II User Group
Thanks again!

The using a newer version of Boost helped me get further and realize I made another bone headed mistake of compiling kokkos as a static library.

I am all compiled and passed all tests now.

Thanks for your help and let me know if I have to do anything for this to be marked as solved.

Best,
Sean

Bruno Turcksin

unread,
Feb 6, 2024, 5:17:42 PM2/6/24
to dea...@googlegroups.com
Sean,

That's great to hear. We don't mark problems as solved. So there is nothing to do.

Best,

Bruno

Sean Johnson

unread,
Feb 6, 2024, 6:26:43 PM2/6/24
to deal.II User Group
Bruno,

I apparently spoke to soon. It passed "make test" with 0 failed test. However, when I run "cmake ." in the directory of step-1 I get this output:


-- Using the deal.II-9.5.2 installation found at /usr/local
-- Include macro /usr/local/share/deal.II/macros/macro_deal_ii_add_test.cmake
-- Include macro /usr/local/share/deal.II/macros/macro_deal_ii_initialize_cached_variables.cmake
-- Include macro /usr/local/share/deal.II/macros/macro_deal_ii_invoke_autopilot.cmake
-- Include macro /usr/local/share/deal.II/macros/macro_deal_ii_pickup_tests.cmake
-- Include macro /usr/local/share/deal.II/macros/macro_deal_ii_query_git_information.cmake
-- Include macro /usr/local/share/deal.II/macros/macro_deal_ii_setup_target.cmake
-- Include macro /usr/local/share/deal.II/macros/macro_shell_escape_option_groups.cmake
-- Include macro /usr/local/share/deal.II/macros/macro_target_compile_flags.cmake
-- Include macro /usr/local/share/deal.II/macros/macro_target_link_flags.cmake
-- Autopilot invoked
-- Run   $ make info  to print a detailed help message
-- Configuring done
CMake Error in CMakeLists.txt:
  Imported target "dealii::dealii_debug" includes non-existent path

    "/usr/local/include/deal.II/bundled"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.



-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.



Then when I try "make" I get this:



[ 33%] Building CXX object CMakeFiles/step-1.dir/step-1.cc.o
In file included from /usr/local/include/deal.II/grid/tria.h:20,
                 from /home/sean/dealii-9.5.2/examples/step-1/step-1.cc:22:
/usr/local/include/deal.II/base/config.h:588:12: fatal error: mpi.h: No such file or directory
  588 | #  include <mpi.h>
      |            ^~~~~~~
compilation terminated.
make[3]: *** [CMakeFiles/step-1.dir/build.make:76: CMakeFiles/step-1.dir/step-1.cc.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:90: CMakeFiles/step-1.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:123: CMakeFiles/run.dir/rule] Error 2
make: *** [Makefile:137: run] Error 2

I am currently recompiling with fewer jobs to see if any errors pop up or if recompiling might help.

Thanks,
Sean

Daniel Arndt

unread,
Feb 7, 2024, 8:17:01 AM2/7/24
to dea...@googlegroups.com
Sean,

that problem doesn't sound specific to compiling with Kokkos+Cuda. Can you make sure to start from a clean work directory and again select `nvcc_wrapper` as compiler?

Best,
Daniel

You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dealii+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/87c9749c-ab97-4982-926c-e07645597bdcn%40googlegroups.com.

Bruno Turcksin

unread,
Feb 7, 2024, 8:47:22 AM2/7/24
to dea...@googlegroups.com
Sean,

If the configuration steps errors out, there is no point in trying to compile the code. You probably want to remove the deal.II files that have been installed and reinstall the library.

Best,

Bruno

Daniel Jodlbauer

unread,
Feb 8, 2024, 2:14:53 AM2/8/24
to deal.II User Group
Ran into the same problem. The bundled folder is not installed, since no bundled libraries are used, but the cmake targets still reference them.
As a workaround, you can just create the bundled folder.
I haven't had the time to dig through the cmake files to fix it, but for the moment opened an issue here https://github.com/dealii/dealii/issues/16605
Reply all
Reply to author
Forward
0 new messages