'Make' issue on Mac M3

Hello everyone,

I was trying to compile ASPECT on my Mac M3p (macOS Sonoma 14.2.1).
However, I was unable to run ‘‘make’’ instruction to compile ASPECT after successfully creating the build directory. It looks like that everything else worked except the last step. Some details are posted below.

chris@Chriss-MBP aspect % cd build
chris@Chriss-MBP build % cmake -DDEAL_II_DIR=/users/chris/dealii-candi/deal.II-v9.5.1/ ..
CMake Deprecation Warning at CMakeLists.txt:19 (CMAKE_MINIMUM_REQUIRED):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- ====================================================
-- ============ Configuring ASPECT ====================
-- ====================================================
-- Setting up ASPECT for DebugRelease mode.
-- Found deal.II version 9.5.1 at '/users/chris/dealii-candi/deal.II-v9.5.1/lib/cmake/deal.II'
-- The CXX compiler identification is AppleClang 15.0.0.15000100
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/homebrew/bin/mpicxx - skipped
-- 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.39.3 (Apple Git-145)") 
-- Using World Builder version 0.5.0 found at /Users/chris/Documents/Aspect/aspect/contrib/world_builder.
-- Query git repository information.
CMake Deprecation Warning at CMakeLists.txt:294 (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.


CMake Deprecation Warning at CMakeLists.txt:2 (CMAKE_MINIMUM_REQUIRED):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- Setting up test project, see tests/setup_tests.log for details.
CMake Deprecation Warning at CMakeLists.txt:20 (CMAKE_MINIMUM_REQUIRED):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

    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
-- Found ZLIB: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/lib/libz.tbd (found version "1.2.12")  
-- Using ASPECT_WITH_LIBDAP = 'OFF'
-- Using ASPECT_WITH_FASTSCAPE = 'OFF'
-- Using ASPECT_WITH_NETCDF = 'ON'
--  NETCDF_INCLUDE_DIR: /opt/homebrew/include
--  NETCDF_LIBRARY: /opt/homebrew/lib/libnetcdf.dylib
--  NETCDF_VERSION: 4.9.2
-- Precompiling common header files.
-- Combining source files into unity build.
CMake Deprecation Warning at doc/CMakeLists.txt:19 (CMAKE_MINIMUM_REQUIRED):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- ===== Configuring ASPECT documentation =============
-- Found Perl: /usr/bin/perl (found version "5.30.3") 
-- Parameter GUI not found: install and provide a hint using -D PARAMETER_GUI_DIR or set -D PARAMETER_GUI_EXECUTABLE directly.
-- Writing configuration details into detailed.log...
###
#
#  Project aspect set up with  deal.II-9.5.1  found at
#      /users/chris/dealii-candi/deal.II-v9.5.1
#
#  CMAKE_BUILD_TYPE:          DebugRelease
#
#  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 debugrelease   - to switch the build type to compile both
#       $ 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 (1.2s)
-- Generating done (0.1s)
-- Build files have been written to: /Users/chris/Documents/Aspect/aspect/build
chris@Chriss-MBP build % make
make[2]: *** No rule to make target `CMakeFiles/aspect.dir/cmake_pch_arm64.hxx.pch', needed by `CMakeFiles/aspect.dir/Unity/unity_43_cxx.cxx.o'.  Stop.
make[1]: *** [CMakeFiles/aspect.dir/all] Error 2
make: *** [all] Error 2
chris@Chriss-MBP build %

Any help would be appreciated.

Hi Chris,

Can you check what happens if you set cmake -D ASPECT_UNITY_BUILD=OFF . before typing make?

Hi tjhei,

Thanks for your promote reply. Setting cmake -D ASPECT_UNITY_BUILD=OFF . before make worked.

Thanks again.

Chris