ASPECT on intel MacOS Ventura 13.5.1 with dealii .dmg file/application

I did a little grep and it turns out in the entire aspect source directory, it is only in a CMakeList.txt file for the worldbuilder system :

mkerr@igpp20grad7 aspect % grep -lr 'stdlib=libc++' * 
contrib/world_builder/CMakeLists.txt
mkerr@igpp20grad7 aspect % vi contrib/world_builder/CMakeLists.txt

When I looked at the difference between this CMakeLists.txt file in 2.5 and 2.6 I saw that

<     SET(WB_COMPILER_OPTIONS_PRIVATE $<$<COMPILE_LANGUAGE:CXX>:-std=c++14 -Wpointer-arith -Wwrite-strings -Wsynth -Wsign-compare -Woverloaded-virtual -Wno-literal-range -Wno-parentheses -Wno-unused-local-typedefs -Wcast-qual -fstrict-aliasing -stdlib=libc++ -Wuninitialized -Werror=uninitialized -Wdangling-else>)
---
>     SET(WB_COMPILER_OPTIONS_PRIVATE $<$<COMPILE_LANGUAGE:CXX>:-std=c++14 -Wpointer-arith -Wwrite-strings -Wsynth -Wsign-compare -Woverloaded-virtual -Wno-literal-range -Wno-parentheses -Wno-unused-local-typedefs -Wcast-qual -fstrict-aliasing -Wuninitialized -Werror=uninitialized -Wdangling-else>)

the difference is that 2.6 added that flag into the compiler flags. When I delete -stdlib=libc++ from the file I can compile aspect! However I cant run it :frowning:

mkerr@igpp20grad7 convection-box % ./../../build/aspect convection-box.prm
^C
mkerr@igpp20grad7 convection-box % mpirun ../../build/aspect convection-box.prm 
-----------------------------------------------------------------------------
--                             This is ASPECT                              --
-- The Advanced Solver for Planetary Evolution, Convection, and Tectonics. --
-----------------------------------------------------------------------------
--     . version 2.6.0-pre (main, 60d92af1a)
--     . using deal.II 9.5.1
--     .       with 32 bit indices and vectorization level 2 (256 bits)
--     . using Trilinos 13.2.0
--     . using p4est 2.3.2
--     . using Geodynamic World Builder 0.6.0
--     . running in DEBUG mode
--     . running with 4 MPI processes
-----------------------------------------------------------------------------

libc++abi: terminating due to uncaught exception of type std::bad_cast: std::bad_cast
[igpp20grad7:48673] *** Process received signal ***
[igpp20grad7:48673] Signal: Abort trap: 6 (6)
[igpp20grad7:48673] Signal code:  (0)
[igpp20grad7:48673] *** End of error message ***
--------------------------------------------------------------------------
prterun noticed that process rank 0 with PID 48673 on node igpp20grad7 exited on
signal 6 (Abort trap: 6).
--------------------------------------------------------------------------
mkerr@igpp20grad7 convection-box % cd ..

indeed its a libc++ error which makes sense that I shouldn’t just delete it, but I guess it was a needed addition for some part of 2.6, im not sure what.

edit: I also noticed in configuring that mpi_c and mpi_fort have what I believe is a symlink to /usr/local/Cellar/open-mpi/5.0.3_1/lib where mpicxx does not have that

-- Found MPI_C: /usr/local/Cellar/open-mpi/5.0.3_1/lib/libmpi.dylib (found version "3.1")
-- Found MPI_CXX: /usr/local/bin/mpicxx (found version "3.1")
-- Found MPI_Fortran: /usr/local/Cellar/open-mpi/5.0.3_1/lib/libmpi_usempif08.dylib (found version "3.1")
-- Found MPI: TRUE (found version "3.1")

Ah, fascinating! This line came in via Update world builder to version 0.5.0. by MFraters · Pull Request #5164 · geodynamics/aspect · GitHub

Perhaps @MFraters remembers why that was necessary?

Best
W.