New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
signbit issue for macOS 10.14 and 10.15 on Homebrew #7881
Comments
Anyone have ideas? I've removed the old workaround line, seems to be the same problem. Works just fine on macOS 11 (Intel and ARM), but breaks on 10.14 and 10.15. Is there a way to change the build procedure to an older (non-modules?) one? Could be done just on 10.14 and 10.15. |
Turning off runtime cxx_modules for 10.15 and 10.14 causes the cling step to still fail, in the |
@chrisburr have you seen anything like this when updating ROOT? Didn't see anything going into the conda-forge formula related, but might have missed something. |
We don't see any issues in conda-forge and successfully target 10.14+. It's using the conda-forge provided compilers (Clang 11) though so I could imagine this is different. |
Actually there was an issue reported when getting Maybe you need to get some more dependencies from brew. |
@henryiii, the |
Just reformatting the relevant part as that's off screen for me:
With Xcode 12.5 I have in
Does the build node have that, too? Which Xcode version is this? (Mine has |
@Axel-Naumann 10.14 has 11.3.1, 10.15 has 12.4, and 11 has 12.4 as well. @vgvassilev Just get bump-root-6.24.00 from git@github.com:chenrui333/homebrew-core.git somehow, I would use the GitHub command line app I've pushed a build that should have useful logs; 10.14 I'm building with runtime modules off, 10.15+ with runtime modules on. So we'll have one of each possible outcome. |
Thanks. I see line cmath:304 has an unprotected, always visible |
@vgvassilev have you looked into that include? |
@henryiii, I get: cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
git remote add root git@github.com:chenrui333/homebrew-core.git
git fetch root
git checkout bump-root-6.24.00
brew install --build-from-source root
==> Downloading https://homebrew.bintray.com/bottles/cmake-3.20.2.catalina.bottle.tar.gz
#=#=#
curl: (22) The requested URL returned error: 403 Forbidden
Error: Failed to download resource "cmake" |
You need to |
I have built successfully outside of brew. While building the G__Core.cxx these are the differences in the rootcling setup -- https://www.diffchecker.com/2v8JFoGU, https://www.diffchecker.com/svLt7sk1 Nothing really major, only the broken version prepends |
This didn't/doesn't break ROOT 6.22, only 6.24, though. Any thoughts on how to proceed? |
Looks like we need SDKROOT workaround used for 6.22 back: ...
def install
- # Work around "error: no member named 'signbit' in the global namespace"
- ENV.delete("SDKROOT") if DevelopmentTools.clang_build_version >= 900
-
# Freetype/afterimage/gl2ps/lz4 are vendored in the tarball, so are fine.
# However, this is still permitting the build process to make remote
# connections. As a hack, since upstream support it, we inreplace
@@ -96,6 +81,10 @@ class Root < Formula
cxx_version = (MacOS.version < :mojave) ? 14 : 17
args << "-DCMAKE_CXX_STANDARD=#{cxx_version}"
+ # TODO: probably can be removed
+ runtime_cxxmodules = (MacOS.version >= :catalina) ? "ON" : "OFF"
+ args << "-Druntime_cxxmodules=#{runtime_cxxmodules}"
+
# Homebrew now sets CMAKE_INSTALL_LIBDIR to /lib, which is incorrect
# for ROOT with gnuinstall, so we set it back here.
args << "-DCMAKE_INSTALL_LIBDIR=lib/root" |
That workaround no longer works from what I understand, it's now a no-op. But it's also not needed, 6.22 builds just fine without it. I can give it a try if you'd like me to. |
Actually, the first few times this built, the workaround was still there. So it has been tested with this line.
|
Okay, so it seems to be some setup issue as the It may be that, for some reason, homebrew setup makes rootcling prepend PS: I will put my money on the -[i]sysroot compiler flags ;) |
Hmm, would this line perhaps be a problem? args << "-DCMAKE_OSX_SYSROOT=#{MacOS.sdk_for_formula(self).path}" if MacOS.sdk_root_needed? That's when making |
Well, on each version:
If you manually remove this line, they all break with a signbit issue. |
Ok, some progress. I can reproduce this outside of homebrew with the following configuration:
First couple of remarks -- we seem to have options that we do not need. Eg The failing command is:
For some reason, homebrew (or some of the flags from the cmake configuration above) decides to add: This cmake configuration fixes the issue for me: |
Homebrew has specific flags and such that are supposed to always be used on all projects. That's where these come from, a list called "cmake_std_args" in homebrew. Meddling with these is very tricky - but we only need it for older versions of macOS, 11 builds fine, so I think it will likely make it through review. We can try, anyway. I'll have to manually filter out settings from that list. |
@henryiii, can we mark this issue as resolved? |
Should be cleared up. Using |
Thanks, @vgvassilev!!! Once the problem was identified as the issue with those paths, a very nice and simple solution became obvious. |
No worries, thanks for pulling this off! |
Hi @henryiii, @vgvassilev, It appears this issue is closed, but wasn't yet added to a project. Please add upcoming versions that will include the fix, or 'not applicable' otherwise. Sincerely, |
Describe the bug
In Homebrew/homebrew-core#75166, macOS 10.14 and 10.15 can't build due to a signbit issue.
Expected behavior
Should build? :)
To Reproduce
I don't have a 10.14 or 10.15 machine to test on, if I did, this should do it:
cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core gh pr checkout 75166 brew install --build-from-source root
Setup
ROOT 6.24.00, macOS < 11, C++17 mode.
Additional context
Full error:
Note there have been signbit issues before, https://github.com/Homebrew/homebrew-core/pull/75166/files#r613512702
The text was updated successfully, but these errors were encountered: