Skip to content

Avoid using patched MacOS modulemap on conda-forge builds#22448

Open
vepadulano wants to merge 1 commit into
root-project:masterfrom
vepadulano:upstream-conda-patch-macos-14.2-modulemap
Open

Avoid using patched MacOS modulemap on conda-forge builds#22448
vepadulano wants to merge 1 commit into
root-project:masterfrom
vepadulano:upstream-conda-patch-macos-14.2-modulemap

Conversation

@vepadulano
Copy link
Copy Markdown
Member

This would allow removing another patch from our conda-forge recipe https://github.com/conda-forge/root-feedstock/blob/main/recipe/patches/0007-Remove-bad-check-on-SDK-for-std_darwin.MacOSX14.2.sd.patch

As an alternative, those lines could be removed altogether since MacOS13 is not supported anymore, I will let others decide.

@vepadulano vepadulano self-assigned this Jun 1, 2026
@vepadulano vepadulano requested a review from dpiparo as a code owner June 1, 2026 13:59
@vepadulano vepadulano added in:Build System clean build Ask CI to do non-incremental build on PR labels Jun 1, 2026
@vepadulano
Copy link
Copy Markdown
Member Author

Just to confirm that with this patch the conda-forge build succeeds conda-forge/root-feedstock#354

Comment on lines +735 to +740
const bool isCondaBuild = []() {
if (const auto en = std::getenv("CONDA_BUILD")) {
return std::strcmp(en, "1") == 0;
}
return false;
}();
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO this hack should definitely not become part of the generic Cling. I know we discussed in the past, I forgot the details, but if the SDK version is not correctly found it means that some flags are not correct. I don't know where is the proper place to fix it.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this case it's more subtle than that. The SDK is properly found by the build, thanks to the now fixed and well-defined CMAKE_OSX_SYSROOT variable https://github.com/root-project/root/blob/dd9c2d39dda88e817002130bbebb752f7fa94eec/cmake/modules/SetOSX_SDK.cmake . That works now.

These lines in CIFactory.cpp though are actively going against the already-found and correct MacOS SDK path. That's because on conda-forge the MacOS SDK used is version 11.0. These lines in CIFactory.cpp are triggered because of the condition <14.2, but the patched modulemap provided in this case is simply wrong. If these lines were not present, the correct CMake workflow would run.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 1, 2026

Test Results

    22 files      22 suites   3d 10h 27m 47s ⏱️
 3 860 tests  3 860 ✅ 0 💤 0 ❌
77 082 runs  77 082 ✅ 0 💤 0 ❌

Results for commit a682b80.

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

Labels

clean build Ask CI to do non-incremental build on PR in:Build System

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants