Error installing Aspect on Mac OSX 10.15 (catalina)

Hello,
I followed the instructions to instal deal.II using the DMG and this appears to have worked.
However, when I compile Aspect it gets about 70% through then there’s an error. I’ve pasted the output from cmake and compiling with the error and the detailed.log. I can use Aspect on our cluster, but it would be nice to use it on my lap top for testing and for the Hackathon.
Any ideas as to the cause of the problem?
Magali

/Users/billen/Box Sync/Aspect-Src/aspect/build % cmake …
– ====================================================
– ============ Configuring ASPECT ====================
– ====================================================
– Found deal.II version 9.2.0 at ‘/Applications/deal.II.app/Contents/Resources/Libraries/lib/cmake/deal.II’
– Using ASPECT_USE_PETSC = ‘OFF’
– The CXX compiler identification is AppleClang 11.0.3.11030032
– Check for working CXX compiler: /Applications/deal.II.app/Contents/Resources/spack/opt/spack/darwin-catalina-x86_64/clang-11.0.3-apple/openmpi-3.1.6-ch3xlssbdriiio4hygk3xhnxclncjvze/bin/mpic++
– Check for working CXX compiler: /Applications/deal.II.app/Contents/Resources/spack/opt/spack/darwin-catalina-x86_64/clang-11.0.3-apple/openmpi-3.1.6-ch3xlssbdriiio4hygk3xhnxclncjvze/bin/mpic++ - works
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Detecting CXX compile features
– Detecting CXX compile features - done
– ASPECT_WITH_WORLD_BUILDER = ‘ON’
– World Builder not found. Using internal version.
– Found Git: /usr/bin/git (found version “2.24.3 (Apple Git-128)”)
– Using World Builder version 0.3.0 found at /Users/billen/Box Sync/Aspect-Src/aspect/contrib/world_builder.
– Query git repository information.
CMake Deprecation Warning at CMakeLists.txt:219 (CMAKE_POLICY):
The OLD behavior for policy CMP0037 will be removed from a future version
of CMake.

The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.

– Setting up test project, see tests/setup_tests.log for details.
Found 1 tests.
– Performing Test HAVE_DLOPEN
– Performing Test HAVE_DLOPEN - Success
– Enabling dynamic loading of plugins from the input file
– Looking for C++ include link.h
– Looking for C++ include link.h - not found
– Using ASPECT_WITH_LIBDAP = ‘OFF’
– Using ASPECT_WITH_NETCDF = ‘OFF’
– Precompiling common header files.
– Combining source files into unity build.
– Parameter GUI not found: install and provide a hint using -D PARAMETER_GUI_DIR or set -D PARAMETER_GUI_EXECUTABLE directly.
– Writing config into detailed.log…

Project aspect set up with deal.II-9.2.0 found at

/Applications/deal.II.app/Contents/Resources/Libraries

CMAKE_BUILD_TYPE: Debug

You can now run

$ make - to compile and link aspect

$ make debug - to switch the build type to ‘Debug’

$ make release - to switch the build type to ‘Release’

$ make clean - to remove the generated executable as well as

all intermediate compilation files

$ make distclean - to clean the directory from all generated

files (includes clean, runclean and the removal

of the generated build system)

$ make setup_tests - enable all tests and re-run test detection

$ make indent - fix indentation of all source files

$ make info - to view this message again

– Configuring done
– Generating done
– Build files have been written to: /Users/billen/Box Sync/Aspect-Src/aspect/build
/Users/billen/Box Sync/Aspect-Src/aspect/build make -j4 Scanning dependencies of target aspect [ 0] Building CXX object CMakeFiles/aspect.dir/cmake_pch.hxx.pch
[ 3%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/coordinate_systems/cartesian.cc.o
[ 3%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/coordinate_systems/interface.cc.o
[ 3%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/coordinate_systems/spherical.cc.o
[ 3%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/continental_plate.cc.o
[ 4%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/continental_plate_models/composition/interface.cc.o
[ 5%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/continental_plate_models/composition/uniform.cc.o
[ 6%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/continental_plate_models/grains/interface.cc.o
[ 7%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/continental_plate_models/grains/random_uniform_distribution.cc.o
[ 8%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/continental_plate_models/grains/uniform.cc.o
[ 8%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/continental_plate_models/temperature/adiabatic.cc.o
[ 9%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/continental_plate_models/temperature/interface.cc.o
[ 10%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/continental_plate_models/temperature/linear.cc.o
[ 11%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/continental_plate_models/temperature/uniform.cc.o
[ 12%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/fault.cc.o
[ 13%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/fault_models/composition/interface.cc.o
[ 13%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/fault_models/composition/uniform.cc.o
[ 14%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/fault_models/grains/interface.cc.o
[ 15%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/fault_models/grains/random_uniform_distribution.cc.o
[ 17%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/fault_models/grains/uniform.cc.o
[ 18%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/fault_models/temperature/adiabatic.cc.o
[ 19%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/fault_models/temperature/interface.cc.o
[ 19%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/fault_models/temperature/linear.cc.o
[ 20%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/fault_models/temperature/uniform.cc.o
[ 21%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/interface.cc.o
[ 22%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/mantle_layer.cc.o
[ 23%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/mantle_layer_models/composition/interface.cc.o
[ 24%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/mantle_layer_models/composition/uniform.cc.o
[ 24%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/mantle_layer_models/grains/interface.cc.o
[ 25%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/mantle_layer_models/grains/random_uniform_distribution.cc.o
[ 26%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/mantle_layer_models/grains/uniform.cc.o
[ 27%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/mantle_layer_models/temperature/adiabatic.cc.o
[ 28%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/mantle_layer_models/temperature/interface.cc.o
[ 29%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/mantle_layer_models/temperature/linear.cc.o
[ 29%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/mantle_layer_models/temperature/uniform.cc.o
[ 30%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/oceanic_plate.cc.o
[ 31%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/oceanic_plate_models/composition/interface.cc.o
[ 32%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/oceanic_plate_models/composition/uniform.cc.o
[ 34%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/oceanic_plate_models/grains/interface.cc.o
[ 35%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/oceanic_plate_models/grains/random_uniform_distribution.cc.o
[ 35%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/oceanic_plate_models/grains/uniform.cc.o
[ 36%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/oceanic_plate_models/temperature/adiabatic.cc.o
[ 37%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/oceanic_plate_models/temperature/interface.cc.o
[ 38%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/oceanic_plate_models/temperature/linear.cc.o
[ 39%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/oceanic_plate_models/temperature/plate_model.cc.o
[ 40%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/oceanic_plate_models/temperature/uniform.cc.o
[ 40%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/subducting_plate.cc.o
[ 41%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/subducting_plate_models/composition/interface.cc.o
[ 43%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/subducting_plate_models/composition/uniform.cc.o
[ 43%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/subducting_plate_models/grains/interface.cc.o
[ 44%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/subducting_plate_models/grains/random_uniform_distribution.cc.o
[ 45%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/subducting_plate_models/grains/uniform.cc.o
[ 45%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/subducting_plate_models/temperature/adiabatic.cc.o
[ 46%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/subducting_plate_models/temperature/interface.cc.o
[ 47%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/subducting_plate_models/temperature/linear.cc.o
[ 48%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/subducting_plate_models/temperature/plate_model.cc.o
[ 50%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/subducting_plate_models/temperature/uniform.cc.o
[ 51%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/features/utilities.cc.o
[ 51%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/parameters.cc.o
[ 52%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/point.cc.o
[ 53%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/types/array.cc.o
[ 54%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/types/bool.cc.o
[ 55%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/types/double.cc.o
[ 56%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/types/interface.cc.o
[ 56%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/types/object.cc.o
[ 57%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/types/plugin_system.cc.o
[ 58%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/types/point.cc.o
[ 59%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/types/segment.cc.o
[ 60%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/types/string.cc.o
[ 61%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/types/unsigned_int.cc.o
[ 61%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/utilities.cc.o
[ 62%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/world.cc.o
[ 63%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/wrapper_c.cc.o
[ 64%] Building CXX object CMakeFiles/aspect.dir/contrib/world_builder/source/wrapper_cpp.cc.o
[ 65%] Building CXX object CMakeFiles/aspect.dir/Unity/unity_37_cxx.cxx.o
[ 67%] Building CXX object CMakeFiles/aspect.dir/Unity/unity_36_cxx.cxx.o
[ 68%] Building CXX object CMakeFiles/aspect.dir/Unity/unity_35_cxx.cxx.o
[ 69%] Building CXX object CMakeFiles/aspect.dir/Unity/unity_34_cxx.cxx.o
In file included from /Users/billen/Box Sync/Aspect-Src/aspect/build/CMakeFiles/aspect.dir/Unity/unity_36_cxx.cxx:6:
/Users/billen/Box Sync/Aspect-Src/aspect/source/volume_of_fluid/utilities.cc:32:14: error:
explicit specialization of ‘compute_fluid_fraction<2>’ after instantiation
double compute_fluid_fraction<2> (const Tensor<1, 2> normal,
^
/Users/billen/Box Sync/Aspect-Src/aspect/source/volume_of_fluid/setup_initial_conditions.cc:210:76: note:
implicit instantiation first required here
…const double fraction_at_point = VolumeOfFluid::Utilities::compute_fluid…
^
In file included from /Users/billen/Box Sync/Aspect-Src/aspect/build/CMakeFiles/aspect.dir/Unity/unity_36_cxx.cxx:6:
/Users/billen/Box Sync/Aspect-Src/aspect/source/volume_of_fluid/utilities.cc:119:14: error:
explicit specialization of ‘compute_fluid_fraction<3>’ after instantiation
double compute_fluid_fraction<3> (const Tensor<1, 3> normal,
^
/Users/billen/Box Sync/Aspect-Src/aspect/source/volume_of_fluid/setup_initial_conditions.cc:210:76: note:
implicit instantiation first required here
…const double fraction_at_point = VolumeOfFluid::Utilities::compute_fluid…
^
[ 70%] Building CXX object CMakeFiles/aspect.dir/Unity/unity_33_cxx.cxx.o
2 errors generated.
make[2]: *** [CMakeFiles/aspect.dir/Unity/unity_36_cxx.cxx.o] Error 1
make[2]: *** Waiting for unfinished jobs…
In file included from /Users/billen/Box Sync/Aspect-Src/aspect/build/CMakeFiles/aspect.dir/Unity/unity_35_cxx.cxx:10:
/Users/billen/Box Sync/Aspect-Src/aspect/source/volume_of_fluid/handler.cc:374:22: error:
duplicate explicit instantiation of ‘assemble_volume_of_fluid_system’
ASPECT_INSTANTIATE(INSTANTIATE)
^
/Users/billen/Box Sync/Aspect-Src/aspect/source/volume_of_fluid/assembly.cc:294:22: note:
previous explicit instantiation is here
ASPECT_INSTANTIATE(INSTANTIATE)
^
In file included from /Users/billen/Box Sync/Aspect-Src/aspect/build/CMakeFiles/aspect.dir/Unity/unity_35_cxx.cxx:10:
/Users/billen/Box Sync/Aspect-Src/aspect/source/volume_of_fluid/handler.cc:374:22: error:
duplicate explicit instantiation of
‘copy_local_to_global_volume_of_fluid_system’
ASPECT_INSTANTIATE(INSTANTIATE)
^
/Users/billen/Box Sync/Aspect-Src/aspect/source/volume_of_fluid/assembly.cc:235:21: note:
previous explicit instantiation is here
copy_local_to_global_volume_of_fluid_system,
^
In file included from /Users/billen/Box Sync/Aspect-Src/aspect/build/CMakeFiles/aspect.dir/Unity/unity_35_cxx.cxx:10:
/Users/billen/Box Sync/Aspect-Src/aspect/source/volume_of_fluid/handler.cc:374:22: error:
duplicate explicit instantiation of ‘assemble_volume_of_fluid_system’
ASPECT_INSTANTIATE(INSTANTIATE)
^
/Users/billen/Box Sync/Aspect-Src/aspect/source/volume_of_fluid/assembly.cc:294:22: note:
previous explicit instantiation is here
ASPECT_INSTANTIATE(INSTANTIATE)
^
In file included from /Users/billen/Box Sync/Aspect-Src/aspect/build/CMakeFiles/aspect.dir/Unity/unity_35_cxx.cxx:10:
/Users/billen/Box Sync/Aspect-Src/aspect/source/volume_of_fluid/handler.cc:374:22: error:
duplicate explicit instantiation of
‘copy_local_to_global_volume_of_fluid_system’
ASPECT_INSTANTIATE(INSTANTIATE)
^
/Users/billen/Box Sync/Aspect-Src/aspect/source/volume_of_fluid/assembly.cc:235:21: note:
previous explicit instantiation is here
copy_local_to_global_volume_of_fluid_system,
^
4 errors generated.
make[2]: *** [CMakeFiles/aspect.dir/Unity/unity_35_cxx.cxx.o] Error 1
make[1]: *** [CMakeFiles/aspect.dir/all] Error 2
make: *** [all] Error 2

% more detailed.log

ASPECT configuration:

ASPECT_VERSION: 2.3.0-pre

GIT REVISION: 69ebaeac5 (master)

CMAKE_BUILD_TYPE: Debug

DEAL_II_DIR: /Applications/deal.II.app/Contents/Resources/Libraries/lib/cmake/deal.II

DEAL_II VERSION: 9.2.0

ASPECT_USE_PETSC: OFF

ASPECT_USE_FP_EXCEPTIONS: OFF

ASPECT_RUN_ALL_TESTS: OFF

ASPECT_USE_SHARED_LIBS: ON

ASPECT_HAVE_LINK_H: OFF

ASPECT_WITH_LIBDAP: OFF

ASPECT_WITH_WORLD_BUILDER: ON /Users/billen/Box Sync/Aspect-Src/aspect/contrib/world_builder

ASPECT_PRECOMPILE_HEADERS: ON

ASPECT_UNITY_BUILD: ON

CMAKE_INSTALL_PREFIX: /usr/local

CMAKE_SOURCE_DIR: /Users/billen/Box Sync/Aspect-Src/aspect

CMAKE_BINARY_DIR: /Users/billen/Box Sync/Aspect-Src/aspect/build

CMAKE_CXX_COMPILER: Clang 11.0.3.11030032 on platform Darwin x86_64

/Applications/deal.II.app/Contents/Resources/spack/opt/spack/darwin-catalina-x86_64/clang-11.0.3-apple/openmpi-3.1.6-ch3xlssbdriiio4hygk3xhnxclncjvze/bin/mpic++

PARAMETER_GUI_EXECUTABLE: PARAMETER_GUI_EXECUTABLE-NOTFOUND

LINKAGE: DYNAMIC

COMPILE_FLAGS:

_WITH_CXX14: ON

_WITH_CXX17: ON

_MPI_VERSION: 3.1

_WITH_64BIT_INDICES: False

Hi Magali,

I’m not sure what the underlying issue is, but I’ll try building on my Mac with deal.II 9.2.0 (Catalina as well) tomorrow morning and see if I can reproduce the error.

Cheers,
John

I was able to reproduce the same error on my mac as well.

Well that makes me feel better :slight_smile:
It was going so well compared to attempts like this years ago I had high hopes.

I can work on peloton for the Hackathon - I know you’ve been super busy with lithosphere tectonics - so this can wait.

Magali,
can you please run cmake -D ASPECT_UNITY_BUILD=OFF -D ASPECT_PRECOMPILE_HEADERS=OFF . and then recompile?
I will investigate what is going on while we check if that helps.

My suggestion should compile for you, but I have a fix PR coming in a few minutes.

I was able to compile on my end with that fix, but ran into the following error when trying to run ASPECT:
ld: warning: directory not found for option ‘-L/Applications/deal.II.app/Contents/Resources/spack/opt/spack/darwin-catalina-x86_64/clang-11.0.3-apple/zlib-1.2.11-rqiqrujgg5aemhk7eqjk3asbaukff’

[100%] Built target aspect

bash-3.2$ ./aspect
dyld: malformed mach-o: load commands size (33928) > 32768
Abort trap: 6
bash-3.2$

This is unfortunately the same issue I had with the earlier version of the deal.II 9.2.0 dmg.

Can you please open a deal.II issue with some information about your machine?

Will do.

Ah, I guess I’m too late :frowning: I’ll see what you have – I would have used
overloads instead of explicit specializations.

Best
W.

Patch now here: https://github.com/geodynamics/aspect/pull/3634

Ok, I got ASPECT to compile and run with Timo’s cmake fix. To do this I deleted the deal.II app from Applications and re-downloaded the deal.II dmg from the link provided on the related deal.II issue:

One change from deal.II 9.1.0 on the Mac is that you need to explicitly load the deal.II module after activating the deal.II terminal. If this is not done, ASPECT will not the necessary libraries at run time.

So, here are the steps I plan to use going forward:

  1. Open a terminal
  2. Enable deal.II: /Applications/deal.II.app/Contents/MacOS/dealii-terminal
  3. Load the deal.II module: module load dealii

I’m not sure why I still got the dynamic linker error with the deal.II dmg package I had downloaded yesterday. Maybe the link I used to download the dmg file still pointed to the old version? I used the “mirror” link on the the deal.II downloads page: https://www.dealii.org/download.htmlhttps://github.com/dealii/dealii/issues/10656

Wolfgang, I’ll check your PR next …

Yes, the mirror has not been updated, sadly. I pinged the person behind that.

The mirror has been updated.