Skip to content

BioDynaMo installation fails on macOS ARM #476

Description

@aclar127

Describe the bug
BioDynaMo installation fails on macOS ARM. The installer detects my platform as:

osx-26.5-arm64

The installer first found Homebrew ROOT:

/opt/homebrew/Cellar/root/6.40.02_1/bin/root-config

but rejected it as not C++14 compliant:

The ROOT installation found in /opt/homebrew/Cellar/root/6.40.02_1 is not
C++14 compliant. Please unset ROOTSYS and re-run cmake so that a
compatible version of ROOT will be downloaded.

After unsetting ROOT-related variables and hiding Homebrew ROOT, the installer no longer finds ROOT and tries to download its own ROOT package. However, this also fails because the ROOT version and SHA appear to be empty for the detected platform:

-- Using  ROOT tarball    : root_v6.22.06_python3.9_osx-26.5-arm64.tar.gz
-- Using  ROOT source dir : /var/folders/.../biodynamo/build/third_party/root
-- Using  ROOT version    :
-- Verify ROOT SHA        :

Then CMake fails with:

CMake Error at cmake/external/ROOT.cmake:35 (download_verify_extract):
  download_verify_extract Function invoked with incorrect arguments for
  function named: download_verify_extract

It seems like the installer/platform detection is generating a ROOT tarball name for osx-26.5-arm64, but there is no corresponding ROOT version/checksum metadata.

Steps to reproduce the behavior:

On macOS ARM, run the BioDynaMo installer:

curl https://biodynamo.github.io/install | bash

With Homebrew ROOT installed, the installer finds:
/opt/homebrew/Cellar/root/6.40.02_1/bin/root-config

and fails with:

The ROOT installation found in /opt/homebrew/Cellar/root/6.40.02_1 is not
C++14 compliant.

Then hide Homebrew ROOT:

unset ROOTSYS
unset ROOT_INCLUDE_PATH
unset ROOT_LIBRARY_PATH
unset ROOT_VERSION
brew unlink root
export PATH=$(echo "$PATH" | tr ':' '\n' | grep -v '/opt/homebrew/Cellar/root' | paste -sd ':' -)
rehash
which root-config

Confirm that root-config is not found.

Rerun the installer:

curl https://biodynamo.github.io/install | bash

The installer tries to download ROOT:

root_v6.22.06_python3.9_osx-26.5-arm64.tar.gz

but fails because ROOT version and SHA are empty:

-- Using  ROOT version    :
-- Verify ROOT SHA        :

CMake exits with:

download_verify_extract Function invoked with incorrect arguments

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions