Skip to content
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

root 6.24.02 #75166

Closed
wants to merge 1 commit into from
Closed

Conversation

chenrui333
Copy link
Member

action-homebrew-bump-formula


Created with brew bump-formula-pr.

@BrewTestBot BrewTestBot added the python Python use is a significant feature of the PR or issue label Apr 14, 2021
Formula/root.rb Outdated
url "https://github.com/root-project/root/commit/d113c9fcf7e1d88c573717c676aa4b97f1db2ea2.patch?full_index=1"
sha256 "6d0fd5ccd92fbb27a949ea40ed4fd60a5e112a418d124ca99f05f70c9df31cda"
end

def install
# Work around "error: no member named 'signbit' in the global namespace"
ENV.delete("SDKROOT") if DevelopmentTools.clang_build_version >= 900
Copy link
Contributor

@henryiii henryiii Apr 14, 2021

Choose a reason for hiding this comment

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

I wonder if this is no longer needed? I can't test the failure locally, because all my machines are on macOS 11, where it works correctly.

Copy link
Contributor

@henryiii henryiii Apr 14, 2021

Choose a reason for hiding this comment

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

At least for me (on macOS 11), this builds locally just fine without this line.

Copy link
Member

Choose a reason for hiding this comment

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

Yeah I don't think we even allow the SDKROOT env to be set in the superenv anymore.

Copy link
Contributor

@henryiii henryiii Apr 20, 2021

Choose a reason for hiding this comment

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

@chenrui333 Can you please try removing this line? Don't think it will have much (any?) effect, but is likely unneeded. I don't have permissions to edit this for you.

Copy link
Contributor

Choose a reason for hiding this comment

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

Totally forgot @chenrui333 have me access to the forked repo before. :) I'm trying this without this line for starters.

Copy link
Member

Choose a reason for hiding this comment

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

Try

ENV.delete "CPATH"

@henryiii
Copy link
Contributor

Turning off runtime cxx_modules for 10.15 and 10.14 causes the cling step to still fail, in the Generating G__Core.cxx, ../lib/libCore.rootmap step instead of the module generation. Same sorts of errors, though.

@henryiii henryiii force-pushed the bump-root-6.24.00 branch from d14e73a to d50087f Compare April 28, 2021 14:30
Formula/root.rb Outdated Show resolved Hide resolved
@henryiii henryiii force-pushed the bump-root-6.24.00 branch from afdf887 to defba1e Compare April 28, 2021 16:29
@cxwx
Copy link
Contributor

cxwx commented Apr 30, 2021

@cxwx
Copy link
Contributor

cxwx commented Apr 30, 2021

Which git revision are you trying to build? There is a related commit by @vvassilev that should fix this problem, but it is only part of the master and v6-24-00-patches branches, i.e., the commit is not part of the revision tagged as v6-24-00. Therefore, if you are building from git tag v6-24-00, you may see this error under certain build environments.

@cxwx
Copy link
Contributor

cxwx commented Apr 30, 2021

Also it should be metion that many libraries were not be found correctly for 6.24.00, so I thought the code should have something changed for building environment
like -DxxHash_LIBRARY and so on
I test on my machine and got below, It seems the cmake search path is exclude /usr/local/lib which is different from others
I thought environment CMAKE_INCLUDE_PATH and CMAKE_LIBRARY_PATH should solve these problems

134 -- Could NOT find xxHash (missing: xxHash_LIBRARY) (found version "0
    134 .8.0")
    135 -- xxHash not found. Switching on builtin_xxhash option
    136 -- Looking for LZ4
    137 -- Could NOT find LZ4 (missing: LZ4_LIBRARY) (found version "1.9.3")
    138 -- LZ4 not found. Switching on builtin_lz4 option
    139 -- Could NOT find GIF (missing: GIF_LIBRARY) (found version "5.2.1")
    140 -- Could NOT find TIFF (missing: TIFF_LIBRARY) (found version "4.3.0
    140 ")
    141 -- Found PNG: /usr/X11R6/lib/libpng.dylib (found version "1.6.37")
    142 -- Could NOT find JPEG (missing: JPEG_LIBRARY) (found version "90")
    143 -- Looking for AfterImage
    144 -- Could NOT find AfterImage (missing: AFTERIMAGE_INCLUDE_DIR AFTERI    144 MAGE_LIBRARIES)
    145 -- AfterImage not found. Switching on builtin_afterimage option
    146 -- Building AfterImage library included in ROOT itself
    147 -- Looking for GSL
    148 -- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.2    148 ")
    149 -- Found GSL: /usr/local/include (found suitable version "2.6", mini    149 mum required is "1.10")
    150 -- Looking for OpenGL
    151 -- Found OpenGL: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk    151 /System/Library/Frameworks/OpenGL.framework
    152 -- Looking for gl2ps
    153 -- Could NOT find gl2ps (missing: GL2PS_LIBRARY)
    154 -- gl2ps not found. Switching on builtin_gl2ps option
    155 -- Looking for LibXml2
    156 -- Found LibXml2: /Library/Developer/CommandLineTools/SDKs/MacOSX.sd    156 k/usr/lib/libxml2.tbd (found version "2.9.4")
    157 -- Found OpenSSL: /usr/local/opt/[email protected]/lib/libcrypto.dylib (fo    157 und version "1.1.1k")
    158 -- Looking for Oracle
    159 -- Oracle not found.

@henryiii
Copy link
Contributor

I don't think homebrew should be building from a branch, it usually builds from tags. But we can patch in the change, perhaps? And also maybe try the branch as a debugging tool to see if it works first. :)

@henryiii henryiii force-pushed the bump-root-6.24.00 branch from defba1e to 5a20f57 Compare May 1, 2021 14:08
@henryiii
Copy link
Contributor

henryiii commented May 1, 2021

I can't make this draft or add a label, so DO NOT MERGE if it passes. I'm trying the latest patches branch to see if it is worth trying to find and apply a patch. It's a hack, so it will break the next push to that branch.

@henryiii
Copy link
Contributor

henryiii commented May 3, 2021

Same issue on latest patches branch. Next (tomorrow) I’ll try rebuilding with 6.22.08 and make sure this is a ROOT change not a homebrew one.

@henryiii henryiii force-pushed the bump-root-6.24.00 branch from 8efd8c7 to dae4c0c Compare May 4, 2021 04:06
@henryiii
Copy link
Contributor

henryiii commented May 4, 2021

@vgvassilev Latest 6-24 patches branch does not work, and the old 6.22 works fine, so it's not a homebrew issue.

@vgvassilev
Copy link

@henryiii let's move the discussion under root-project/root#7881

@BrewTestBot BrewTestBot added the bump-formula-pr PR was created using `brew bump-formula-pr` label May 26, 2021
@henryiii henryiii force-pushed the bump-root-6.24.00 branch from 7dca6a6 to 5cd4558 Compare May 26, 2021 05:20
@github-actions
Copy link
Contributor

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. To keep this pull request open, add a help wanted or in progress label.

@github-actions github-actions bot added the stale No recent activity label May 29, 2021
@henryiii
Copy link
Contributor

Could someone add an in-progress label, please? We are working on it (a bit slowly).

@samford samford added in progress Stale bot should stay away and removed stale No recent activity labels May 29, 2021
@henryiii henryiii force-pushed the bump-root-6.24.00 branch from d93d4d9 to 2423513 Compare June 29, 2021 03:16
Formula/root.rb Outdated
@@ -62,6 52,8 @@ def install
"http://lcgpackages",
"https://lcgpackages"

puts "std_cmake_args = #{std_cmake_args}"
Copy link
Member

Choose a reason for hiding this comment

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

If you just want to find the content of this, it's documented here: https://rubydoc.brew.sh/Formula.html#std_cmake_args-instance_method

You can also check the actual cmake invocation when there's a build error: https://github.com/Homebrew/homebrew-core/runs/2938247975?check_suite_focus=true#step:8:55

Copy link
Contributor

Choose a reason for hiding this comment

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

Good to know! I've seen the docs, but needed a simple way to dump it so @vgvassilev could debug locally - looks like the second link was exactly what I needed, though.

@carlocab
Copy link
Member

Also, it looks like this is building its own freetype and ftgl. Can we use Homebrew versions of those?

@henryiii
Copy link
Contributor

@vgvassilev was able to build this with the following lines removed:

-DCMAKE_C_FLAGS_RELEASE="-DNDEBUG"
-DCMAKE_FIND_FRAMEWORK="LAST"
-DCMAKE_OSX_SYSROOT="/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk"
-DCMAKE_VERBOSE_MAKEFILE="ON"

With these arguments, the build command gets -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include added, which causes ROOT's module generation system to try to make modules out of the standard library, breaking for 10.14 and 10.15. All my machines are 11 Intel or 11 AS, so I can't test this locally.

My current plan is to try to remove combinations of these arguments when macOS < 11 (the makefile one shouldn't matter, though. And I think I already tried it with the just OSX_SYSROOT argument stripped) to see if I can get 10.14 and 10.15 to build. I was really hoping 10.15 would try to build with the recent change (bump to 6.22.02), but it seems to have stalled. I have 10.14 building without runtime modules, and 10.15 built with them. Though this seems to still try to generate modules of some sort regardless of that setting.

Formula/root.rb Outdated
ENV.append "CXXFLAGS", "-isystem/Library/Developer/CommandLineTools/usr/include/c /v1"
end

args std_cmake_args %W[
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
args std_cmake_args %W[
args = std_cmake_args %W[

Copy link
Contributor

Choose a reason for hiding this comment

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

That shouldn't have passed the linter I'd think 🤦

@henryiii henryiii force-pushed the bump-root-6.24.00 branch from de9ddf0 to b79598f Compare June 30, 2021 04:38
@henryiii
Copy link
Contributor

With that I get

CMake Error at interpreter/llvm/src/cmake/modules/CheckAtomic.cmake:53 (message):
  Host compiler appears to require libatomic, but cannot find it.
Call Stack (most recent call first):
  interpreter/llvm/src/cmake/config-ix.cmake:349 (include)
  interpreter/llvm/src/CMakeLists.txt:625 (include)

@carlocab
Copy link
Member

That's surprising! Because the -isystem flag I suggested is exactly what I used to fix an identical build failure for LLVM on Mojave and Catalina.

@henryiii
Copy link
Contributor

Do you have a PR link? There are quite a few LLVM PRs. It very much looks like it's the LLVM part of the build that was failing with that flag, so maybe there's something else I'm missing there.

@carlocab
Copy link
Member

This one: #79454

Without the -isystem flag, trying to build using the stage1 clang on Catalina/Mojave fails with

CMake Error at interpreter/llvm/src/cmake/modules/CheckAtomic.cmake:53 (message):
  Host compiler appears to require libatomic, but cannot find it.
Call Stack (most recent call first):
  interpreter/llvm/src/cmake/config-ix.cmake:349 (include)
  interpreter/llvm/src/CMakeLists.txt:625 (include)

This is because CheckAtomic.cmake tries to compile something that does #include <atomic>, but the compiler can't find the atomic header in the standard search path.

@EricFromCanada EricFromCanada changed the title root 6.24.00 root 6.24.02 Jul 8, 2021
Formula/root.rb Outdated Show resolved Hide resolved
@henryiii henryiii force-pushed the bump-root-6.24.00 branch 2 times, most recently from d41faba to 4b1534f Compare August 12, 2021 13:12
@carlocab carlocab added CI-long-timeout [DEPRECATED] Use longer GitHub Actions CI timeout. CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. labels Aug 12, 2021
@vgvassilev
Copy link

My local builds seem to work as I have mentioned here. The failing logs of this PR still have -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include which I think makes it fail.

@carlocab
Copy link
Member

carlocab commented Aug 16, 2021

Have you tried adding a depends_on :xcode on Catalina and earlier? depends_on xcode: :build might also work. This will make brew stop trying to use the CLT. This is otherwise a lot more involved than just the content of std_cmake_args.

Formula/root.rb Outdated
args = std_cmake_args %W[
args = std_cmake_args

depends_on :xcode if MacOS.version <= :catalina
Copy link
Member

Choose a reason for hiding this comment

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

This needs to be outside the install method along with the other dependencies.

Copy link
Contributor

Choose a reason for hiding this comment

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

Oops, will fix. Not for this second, but should the other dependencies be Symbols too, or do they need to be strings?

Copy link
Member

Choose a reason for hiding this comment

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

Formula dependencies are strings. Dependencies that are Requirements (e.g. :arch, :xcode, etc) are Symbols.

@henryiii
Copy link
Contributor

That worked! I'll clean up. Should I squash things up too?

@carlocab
Copy link
Member

That worked! I'll clean up. Should I squash things up too?

Yes please.

Co-authored-by: Sean Molenaar <[email protected]>
Co-authored-by: Carlo Cabrera <[email protected]>
@henryiii
Copy link
Contributor

Should be ready to go! :)

Copy link
Member

@carlocab carlocab left a comment

Choose a reason for hiding this comment

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

🥳

@cho-m cho-m removed do not merge in progress Stale bot should stay away labels Aug 18, 2021
@BrewTestBot
Copy link
Member

🤖 A scheduled task has triggered a merge.

@github-actions github-actions bot added the outdated PR was locked due to age label Sep 18, 2021
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 18, 2021
@chenrui333 chenrui333 deleted the bump-root-6.24.00 branch December 18, 2022 05:58
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bump-formula-pr PR was created using `brew bump-formula-pr` CI-long-timeout [DEPRECATED] Use longer GitHub Actions CI timeout. CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. outdated PR was locked due to age python Python use is a significant feature of the PR or issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants