OpenMC & DAGMC Docker build errors

Hi everyone!

I am working on a project that requires analysis of CAD based geometry in the form of a .h5m file. So DAGMC is needed along with OpenMC. I am having some issues building the image from the Dockerfile provided on the OpenMC GitHub. I ran the following in my terminal,

docker build -t openmc_dagmc --build-arg build_dagmc=on --build-arg compile_cores=4 .

It seems to be fine until it hits the DAGMC Run block, which fails the build. Parsing through the build logs I find what I believe to be the warnings and errors that caused the build to fail,

Cloning into 'embree'...
CMake Deprecation Warning at CMakeLists.txt:4 (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.
-- The C compiler identification is GNU 13.3.0
-- The CXX compiler identification is GNU 13.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Git: /usr/bin/git (found version "2.43.0")
-- Building for AArch64
-- GNU detected
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found TBB: 2021.11.0 at /usr/lib/aarch64-linux-gnu/cmake/TBB via TBBConfig.cmake
-- OpenImageIO not found in your environment. You can 1) install
via your OS package manager, or 2) install it
somewhere on your machine and point OPENIMAGEIO_ROOT to it. (missing: OPENIMAGEIO_INCLUDE_DIR OPENIMAGEIO_LIBRARY)
-- Found JPEG: /usr/lib/aarch64-linux-gnu/libjpeg.so (found version "80")
-- Found PNG: /usr/include
-- glfw3 installation found.
-- Found OpenGL: /usr/lib/aarch64-linux-gnu/libOpenGL.so
CMake Deprecation Warning at tutorials/minimal/CMakeLists.txt:5 (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.

I don’t think the above actually caused the fail, since “embree” built with no errors.

CMake Warning (dev) at /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to `find_package_handle_standard_args` (HDF5) does
not match the name of the calling package (HDF5_MOAB). This can lead to
problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
config/FindHDF5_MOAB.cmake:164 (find_package_handle_standard_args)
CMakeLists.txt:352 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found HDF5: /usr/include/hdf5/serial
finding NetCDF failed, please try to set the var NETCDF_ROOT
CMake Error at /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
NetCDF not found, check the CMake NETCDF_ROOT variable (missing:
NETCDF_INCLUDES NETCDF_LIBRARIES)
Call Stack (most recent call first):
/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
config/FindNetCDF.cmake:74 (find_package_handle_standard_args)
CMakeLists.txt:373 (find_package)
-- Configuring incomplete, errors occurred!

The above occurred near the end of the “cloning into moab..” step.

CMake Error at CMakeLists.txt:29 (find_package):
Could not find a package configuration file provided by "MOAB" with any of
the following names:
MOABConfig.cmake
moab-config.cmake
Add the installation prefix of "MOAB" to CMAKE_PREFIX_PATH or set
"MOAB_DIR" to a directory containing one of the above files. If "MOAB"
provides a separate development package or SDK, be sure it has been
installed.
-- Configuring incomplete, errors occurred!

The above occurred after the “cloning into double-down..” step. From my understanding, it seems to try and locate moab, but since it failed previously, this fails?

Cloning into 'DAGMC'...
CMake Warning (dev) at CMakeLists.txt:1 (project):
cmake_minimum_required() should be called prior to this top-level project()
call. Please see the cmake-commands(7) manual for usage documentation of
both commands.
This warning is for project developers. Use -Wno-dev to suppress it.
-- The C compiler identification is GNU 13.3.0
-- The CXX compiler identification is GNU 13.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Git: /usr/bin/git (found version "2.43.0")
-- CMAKE_BUILD_TYPE not specified, defaulting to Release
-- CMAKE_BUILD_TYPE: Release
-- DOUBLE_DOWN has been enabled for ray tracing. Searching for package...
CMake Error at cmake/FindDOUBLE_DOWN.cmake:25 (message):
Could not find dd
Call Stack (most recent call first):
cmake/DAGMC_macros.cmake:93 (find_package)
CMakeLists.txt:41 (dagmc_setup_options)
-- Configuring incomplete, errors occurred!

This occurred when “cloning into DAGMC..” happens. It seems like a cascading failure due to moab not being built.

I am not entirely familiar with Docker, any feedback is greatly appreciated. If anyone reading this needs more information, please let me know.

The system I am running docker on is: MacBook Pro M1 macOS Sequoia v15.6.1.