Avoid using patched MacOS modulemap on conda-forge builds#22448
Avoid using patched MacOS modulemap on conda-forge builds#22448vepadulano wants to merge 1 commit into
Conversation
|
Just to confirm that with this patch the conda-forge build succeeds conda-forge/root-feedstock#354 |
| const bool isCondaBuild = []() { | ||
| if (const auto en = std::getenv("CONDA_BUILD")) { | ||
| return std::strcmp(en, "1") == 0; | ||
| } | ||
| return false; | ||
| }(); |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
Test Results 22 files 22 suites 3d 10h 27m 47s ⏱️ Results for commit a682b80. |
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.