Skip to content

macOS: Initial Apple Silicon and x86_64 build support#14059

Open
magnesj wants to merge 9 commits into
devfrom
mac-prototype-01
Open

macOS: Initial Apple Silicon and x86_64 build support#14059
magnesj wants to merge 9 commits into
devfrom
mac-prototype-01

Conversation

@magnesj
Copy link
Copy Markdown
Member

@magnesj magnesj commented May 26, 2026

Adds initial macOS build support for Apple Silicon (arm64) and Intel (x86_64), addressing the work outlined in #13971. Tracked under #14045.

Build system

New vcpkg overlay triplets arm64-osx and x64-osx detect the macOS SDK via xcrun --show-sdk-path (vcpkg otherwise emits a literal empty -isysroot when CMake fails to populate CMAKE_OSX_SYSROOT) and inject CMAKE_POLICY_VERSION_MINIMUM=3.5 for ports still on legacy CMake minimums. The top-level CMakeLists.txt adds an AppleClang 17 / Xcode 16 floor alongside the existing Clang 19 gate, prepends Homebrew llvm's libc++ to the link search and rpath so C++23 symbols resolve correctly, defaults RESINSIGHT_ENABLE_OPENVDS to OFF on Apple (Bluware ships no macOS binaries), and vcpkg.json excludes grpc on osx.

grpc

grpc is excluded from vcpkg and build configuration. Can be introduced at a later stage, not investigated in order to keep the baseline as small as possible.

openzgy

macOS does not ship libomp by default, and the vendored openzgy unconditionally includes <omp.h> and uses the glibc strerror_r signature. A local patch at ThirdParty/openzgy-patches/macos-disable-openmp.patch stubs omp_get_*, rewrites the strerror_r fallback, and disables a small number of OpenMP-driven error paths. CMake auto-applies the patch on Apple via git apply with a --reverse --check idempotency probe, so the submodule pointer does not need to move.

This is a temporary workaround until a compile flag for ZGY is introduced in #13979

Other

C++23 fallbacks: <stacktrace> (RiaMainTools, RiaOpenTelemetryManager, RiuMainWindow) and <spanstream> (RifVtkImportUtil) are guarded behind __has_include so libc++ builds without these C++23 headers still compile. When <stacktrace> is unavailable the crash path logs the signal and falls back gracefully. The signal-context program-counter capture in manageSegFailureSA is skipped on Apple because the ucontext layout differs from Linux and <ucontext.h> is deprecated there.

Bundling: qt_add_executable is given MACOSX_BUNDLE across the affected executables so the resulting .app bundles are produced correctly.

CI

New .github/workflows/ResInsightMac.yml runs nightly and on push/PR to mac-prototype while the macOS port stabilises. It builds buildcache from upstream source (the CeetronSolutions action has no macOS support), installs Homebrew bison (vcpkg's thrift port requires bison > 2.5 and macOS ships 2.3), and re-downloads Qt 6.7 each run.

Closes #14045
Closes #13971
Closes #14044

@magnesj magnesj self-assigned this May 26, 2026
@magnesj magnesj added the BuildPlatform Issues related to build platform label May 26, 2026
@magnesj magnesj requested review from Copilot and removed request for Copilot May 26, 2026 17:38
Comment thread ApplicationExeCode/RiaMainTools.cpp Outdated
…nstream>

Replace __has_include with __cpp_lib_stacktrace / __cpp_lib_spanstream from
<version>. A header may exist on the include path without a usable
implementation, which fools __has_include; the feature-test macros are only
defined when the library actually provides the feature.
@SoilRos
Copy link
Copy Markdown
Member

SoilRos commented May 27, 2026

I am getting the following error locally:

Undefined symbols for architecture arm64:
  "RifStimPlanModelGeologicalFrkExporter::MAX_STIMPLAN_LAYERS", referenced from:
      RifStimPlanModelGeologicalFrkExporter::writeToFile(RimStimPlanModel*, bool, QString const&) in RifStimPlanModelGeologicalFrkExporter.cpp.o
ld: symbol(s) not found for architecture arm64
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

Making the RifStimPlanModelGeologicalFrkExporter::MAX_STIMPLAN_LAYERS member variable constexpr fixes the issue as it also implies inline in this context.

A `static const int` class member requires an out-of-class definition when
ODR-used.  The Linux toolchain happened to optimise the load away, but
AppleClang on arm64 emitted a reference and failed to link
RifStimPlanModelGeologicalFrkExporter::MAX_STIMPLAN_LAYERS.  `constexpr`
implies inline for static data members, so the definition is no longer
required.
@magnesj
Copy link
Copy Markdown
Member Author

magnesj commented May 27, 2026

I am getting the following error locally:

Undefined symbols for architecture arm64:
  "RifStimPlanModelGeologicalFrkExporter::MAX_STIMPLAN_LAYERS", referenced from:
      RifStimPlanModelGeologicalFrkExporter::writeToFile(RimStimPlanModel*, bool, QString const&) in RifStimPlanModelGeologicalFrkExporter.cpp.o
ld: symbol(s) not found for architecture arm64
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

Making the RifStimPlanModelGeologicalFrkExporter::MAX_STIMPLAN_LAYERS member variable constexpr fixes the issue as it also implies inline in this context.

Fixed

@magnesj
Copy link
Copy Markdown
Member Author

magnesj commented May 27, 2026

I guess we should improve the GitHub runners for Mac. Please advise two runners that you think are the most relevant.
https://docs.github.com/en/actions/reference/runners/github-hosted-runners#standard-github-hosted-runners-for-public-repositories

@SoilRos
Copy link
Copy Markdown
Member

SoilRos commented May 27, 2026

Compiling and running the program works locally fine for me now. However, installing the bundle fails due to missing libresdata.dylib. The issue seems to be that, because I use multi config ninja generator, the file is built into ThirdParty/Ert/lib/$<CONFIG>/libresdata.dylib instead of ThirdParty/Ert/lib/libresdata.dylib, so this may need to be adjusted. Manually moving the files works and the Qt helper manages to gather all the dynamic libraries into the bundle (i.e. the program runs with its own run-time copies of the library needed). However, the bundle created by this github action does not work on my computer. If you look with otool on the binaries, it seems that the github actions does not manage to copy and link the needed internal dynamic libraries correctly.

Github actions:

otool -L ~/Downloads/ResInsight-macOS/ResInsight.app/Contents/MacOS/ResInsight                                    ✔  2m 29s  13:07:41 
/Users/sospinar/Downloads/ResInsight-macOS/ResInsight.app/Contents/MacOS/ResInsight:
	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1351.0.0)
	@rpath/QtNetworkAuth.framework/Versions/A/QtNetworkAuth (compatibility version 6.0.0, current version 6.7.0)
	@rpath/QtNetwork.framework/Versions/A/QtNetwork (compatibility version 6.0.0, current version 6.7.0)
	@rpath/QtConcurrent.framework/Versions/A/QtConcurrent (compatibility version 6.0.0, current version 6.7.0)
	@rpath/QtPrintSupport.framework/Versions/A/QtPrintSupport (compatibility version 6.0.0, current version 6.7.0)
	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 65.0.0)
	/usr/lib/libcups.2.dylib (compatibility version 2.0.0, current version 2.14.0)
	@rpath/QtSql.framework/Versions/A/QtSql (compatibility version 6.0.0, current version 6.7.0)
	@rpath/libresdata.2.dylib (compatibility version 2.0.0, current version 2.4.0)
	@rpath/QtSvg.framework/Versions/A/QtSvg (compatibility version 6.0.0, current version 6.7.0)
	@rpath/QtXml.framework/Versions/A/QtXml (compatibility version 6.0.0, current version 6.7.0)
	@rpath/QtOpenGLWidgets.framework/Versions/A/QtOpenGLWidgets (compatibility version 6.0.0, current version 6.7.0)
	@rpath/QtWidgets.framework/Versions/A/QtWidgets (compatibility version 6.0.0, current version 6.7.0)
	@rpath/QtOpenGL.framework/Versions/A/QtOpenGL (compatibility version 6.0.0, current version 6.7.0)
	@rpath/QtGui.framework/Versions/A/QtGui (compatibility version 6.0.0, current version 6.7.0)
	@rpath/QtCore.framework/Versions/A/QtCore (compatibility version 6.0.0, current version 6.7.0)
	/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
	/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 2575.60.5)
	/System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/Metal.framework/Versions/A/Metal (compatibility version 1.0.0, current version 368.12.0)

Local version:

otool -L install/ResInsight.app/Contents/MacOS/ResInsight                                                                  ✔  13:10:35 
install/ResInsight.app/Contents/MacOS/ResInsight:
	@executable_path/../Frameworks/libspdlog.1.17.dylib (compatibility version 1.17.0, current version 1.17.0)
	@executable_path/../Frameworks/libfmt.12.dylib (compatibility version 12.0.0, current version 12.1.0)
	@executable_path/../Frameworks/libssl.3.dylib (compatibility version 3.0.0, current version 3.0.0)
	@executable_path/../Frameworks/libcrypto.3.dylib (compatibility version 3.0.0, current version 3.0.0)
	@executable_path/../Frameworks/libbrotlienc.1.dylib (compatibility version 1.0.0, current version 1.2.0)
	@executable_path/../Frameworks/libbrotlidec.1.dylib (compatibility version 1.0.0, current version 1.2.0)
	@executable_path/../Frameworks/libbrotlicommon.1.dylib (compatibility version 1.0.0, current version 1.2.0)
	/usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.8)
	@executable_path/../Frameworks/liblz4.1.dylib (compatibility version 1.0.0, current version 1.10.0)
	@executable_path/../Frameworks/libsnappy.1.dylib (compatibility version 1.0.0, current version 1.2.2)
	/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.12)
	@executable_path/../Frameworks/libzstd.1.dylib (compatibility version 1.0.0, current version 1.5.7)
	@executable_path/../Frameworks/libaws-cpp-sdk-identity-management.dylib (compatibility version 0.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libaws-cpp-sdk-sts.dylib (compatibility version 0.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libaws-cpp-sdk-cognito-identity.dylib (compatibility version 0.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libaws-cpp-sdk-s3.dylib (compatibility version 0.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libaws-cpp-sdk-core.dylib (compatibility version 0.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libaws-crt-cpp.dylib (compatibility version 0.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libaws-c-mqtt.1.0.0.dylib (compatibility version 0.0.0, current version 1.0.0)
	@executable_path/../Frameworks/libaws-c-event-stream.1.0.0.dylib (compatibility version 0.0.0, current version 1.0.0)
	@executable_path/../Frameworks/libaws-c-s3.0unstable.dylib (compatibility version 0.0.0, current version 1.0.0)
	@executable_path/../Frameworks/libaws-c-auth.1.0.0.dylib (compatibility version 0.0.0, current version 1.0.0)
	@executable_path/../Frameworks/libaws-c-http.1.0.0.dylib (compatibility version 0.0.0, current version 1.0.0)
	@executable_path/../Frameworks/libaws-c-io.1.0.0.dylib (compatibility version 0.0.0, current version 1.0.0)
	@executable_path/../Frameworks/libaws-c-cal.1.0.0.dylib (compatibility version 0.0.0, current version 1.0.0)
	/System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 61901.120.67)
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 5026.5.4)
	@executable_path/../Frameworks/libaws-checksums.1.0.0.dylib (compatibility version 0.0.0, current version 1.0.0)
	@executable_path/../Frameworks/libaws-c-compression.1.0.0.dylib (compatibility version 0.0.0, current version 1.0.0)
	@executable_path/../Frameworks/libaws-c-sdkutils.1.0.0.dylib (compatibility version 0.0.0, current version 1.0.0)
	@executable_path/../Frameworks/libaws-c-common.1.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1356.0.0)
	@executable_path/../Frameworks/libutf8proc.3.dylib (compatibility version 3.0.0, current version 3.2.3)
	@executable_path/../Frameworks/libre2.11.dylib (compatibility version 11.0.0, current version 11.0.0)
	@executable_path/../Frameworks/libabsl_log_internal_check_op.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_leak_check.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_log_internal_conditions.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_log_internal_message.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_log_internal_nullguard.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_examine_stack.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_log_internal_format.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_log_internal_structured_proto.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_log_internal_log_sink_set.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_log_internal_globals.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_log_globals.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_log_sink.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_log_entry.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_log_internal_proto.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_strerror.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_vlog_config_internal.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_log_internal_fnmatch.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_flags_internal.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_flags_marshalling.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_flags_reflection.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_flags_config.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_flags_program_name.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_flags_private_handle_accessor.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_flags_commandlineflag.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_flags_commandlineflag_internal.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_raw_hash_set.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_cord.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_cordz_info.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_cord_internal.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_cordz_functions.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_cordz_handle.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_crc_cord_state.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_crc32c.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_crc_internal.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_crc_cpu_detect.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_hashtablez_sampler.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_exponential_biased.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_str_format_internal.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_synchronization.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_graphcycles_internal.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_kernel_timeout_internal.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_stacktrace.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_borrowed_fixup_buffer.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_hash.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_city.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_symbolize.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_malloc_internal.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_debugging_internal.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_demangle_internal.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_demangle_rust.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_decode_rust_punycode.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_utf8_for_code_point.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_time.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_strings.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_strings_internal.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_throw_delegate.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_int128.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_civil_time.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_time_zone.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_tracing_internal.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_base.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_raw_logging_internal.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_log_severity.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libabsl_spinlock_wait.2601.0.0.dylib (compatibility version 2601.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libthrift-0.23.0.dylib (compatibility version 0.0.0, current version 0.0.0)
	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
	@executable_path/../Frameworks/QtNetworkAuth.framework/Versions/A/QtNetworkAuth (compatibility version 6.0.0, current version 6.11.1)
	@executable_path/../Frameworks/QtNetwork.framework/Versions/A/QtNetwork (compatibility version 6.0.0, current version 6.11.1)
	@executable_path/../Frameworks/QtConcurrent.framework/Versions/A/QtConcurrent (compatibility version 6.0.0, current version 6.11.1)
	@executable_path/../Frameworks/QtPrintSupport.framework/Versions/A/QtPrintSupport (compatibility version 6.0.0, current version 6.11.1)
	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 66.0.0)
	/usr/lib/libcups.2.dylib (compatibility version 2.0.0, current version 2.14.0)
	@executable_path/../Frameworks/QtSql.framework/Versions/A/QtSql (compatibility version 6.0.0, current version 6.11.1)
	@rpath/libresdata.2.dylib (compatibility version 2.0.0, current version 2.4.0)
	@executable_path/../Frameworks/libboost_filesystem.dylib (compatibility version 0.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libboost_atomic.dylib (compatibility version 0.0.0, current version 0.0.0)
	@executable_path/../Frameworks/libClipper2Z.2.dylib (compatibility version 2.0.0, current version 2.0.1)
	@executable_path/../Frameworks/QtSvg.framework/Versions/A/QtSvg (compatibility version 6.0.0, current version 6.11.1)
	@executable_path/../Frameworks/QtXml.framework/Versions/A/QtXml (compatibility version 6.0.0, current version 6.11.1)
	@executable_path/../Frameworks/QtOpenGLWidgets.framework/Versions/A/QtOpenGLWidgets (compatibility version 6.0.0, current version 6.11.1)
	@executable_path/../Frameworks/QtWidgets.framework/Versions/A/QtWidgets (compatibility version 6.0.0, current version 6.11.1)
	@executable_path/../Frameworks/QtOpenGL.framework/Versions/A/QtOpenGL (compatibility version 6.0.0, current version 6.11.1)
	@executable_path/../Frameworks/QtGui.framework/Versions/A/QtGui (compatibility version 6.0.0, current version 6.11.1)
	/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 2685.60.104)
	/System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/Metal.framework/Versions/A/Metal (compatibility version 1.0.0, current version 373.2.0)
	@executable_path/../Frameworks/QtCore.framework/Versions/A/QtCore (compatibility version 6.0.0, current version 6.11.1)
	/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
	/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/UniformTypeIdentifiers.framework/Versions/A/UniformTypeIdentifiers (compatibility version 1.0.0, current version 709.0.0)
	/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 2100.43.0)

@SoilRos
Copy link
Copy Markdown
Member

SoilRos commented May 27, 2026

I guess we should improve the GitHub runners for Mac. Please advise two runners that you think are the most relevant. https://docs.github.com/en/actions/reference/runners/github-hosted-runners#standard-github-hosted-runners-for-public-repositories

I would not explicitly support intel x86 as Apple shifted from them like 5 years ago. Since you ship bundles that link to the system standard library, I would try to compile with the oldest possible mac, to the extent possible of course. This way, you have a bigger range of supported macOS versions.

@SoilRos
Copy link
Copy Markdown
Member

SoilRos commented May 27, 2026

Oh, regarding the github bundle above, sorry, it actually ships everything, you just need to get the bundle out of the quarantine:

sudo xattr -r -d com.apple.quarantine ResInsight.app

This allows you macOS run programs built in other machines. For releases, the program should probably be authenticated or certified, I do not know. I have very little experience with that.

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

Labels

BuildPlatform Issues related to build platform

Projects

None yet

2 participants