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

grpc 1.37.0 #74765

Closed
wants to merge 5 commits into from
Closed

grpc 1.37.0 #74765

wants to merge 5 commits into from

Conversation

chenrui333
Copy link
Member

action-homebrew-bump-formula


Created with brew bump-formula-pr.

@carlocab
Copy link
Member

carlocab commented Apr 7, 2021

ARM

Error: 5 failed steps!
brew linkage --test apache-arrow
brew linkage --test bear
brew test --retry --verbose bear
brew linkage --test mavsdk
brew test --retry --verbose mavsdk

I don't expect more linkage failures, but we should probably wait for the Intel nodes to finish to be sure.

@carlocab carlocab added the revision bumps needed Reverse dependencies need to have their revision incremented in the same PR label Apr 7, 2021
@carlocab
Copy link
Member

carlocab commented Apr 7, 2021

Hmmm. Different problem on Mojave:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:4325:5: error: static_assert failed due to requirement 'is_constructible<grpc_core::XdsApi::LdsUpdate::FilterChainData>::value' "Can't construct object in make_shared"
    static_assert( is_constructible<_Tp, _Args...>::value, "Can't construct object in make_shared" );
    ^              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:4710:29: note: in instantiation of function template specialization 'std::__1::shared_ptr<grpc_core::XdsApi::LdsUpdate::FilterChainData>::make_shared<>' requested here
    return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...);
                            ^
/tmp/grpc-20210407-76661-axkyhd/src/core/ext/xds/xds_api.cc:2207:12: note: in instantiation of function template specialization 'std::__1::make_shared<grpc_core::XdsApi::LdsUpdate::FilterChainData>' requested here
      std::make_shared<XdsApi::LdsUpdate::FilterChainData>();
           ^

It might be that this no longer supports Mojave.

@carlocab carlocab added 10.14 Mojave is specifically affected build failure CI fails while building the software and removed revision bumps needed Reverse dependencies need to have their revision incremented in the same PR labels Apr 7, 2021
@carlocab carlocab force-pushed the bump-grpc-1.37.0 branch 2 times, most recently from 41694cd to b21fdd7 Compare April 7, 2021 23:50
@carlocab
Copy link
Member

carlocab commented Apr 8, 2021

Any ideas here, @Bo98? I'm tempted to just make this depends_on macos: :catalina.

@Bo98
Copy link
Member

Bo98 commented Apr 8, 2021

That's an interesting one. Looks like it might simply be due to compiler differences rather than anything deeper in the OS. I'll see if I can narrow it down to a small reproducible case

@carlocab
Copy link
Member

carlocab commented Apr 8, 2021

Yep, I agree. I've been trying to track down where the compiler changed here, but I can't find anything online and don't have access to something running Mojave to actually work it out myself.

I could also try filing an issue to see if upstream know something about this, but I've had an open issue at gRPC for months with no response, so I'm not optimistic about getting somewhere with that.

@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.

@github-actions github-actions bot added the stale No recent activity label Apr 30, 2021
@carlocab carlocab force-pushed the bump-grpc-1.37.0 branch 5 times, most recently from 43df38b to 5bf3b63 Compare May 2, 2021 03:11
@carlocab
Copy link
Member

carlocab commented May 2, 2021

This is kinda weird:

==> Running Formulae#formula!(grpc)
==> brew install gcc
==> SKIPPED grpc
grpc cannot be built with any available compilers.
Install GNU's GCC:
  brew install gcc

https://github.com/Homebrew/homebrew-core/runs/2481530095?check_suite_focus=true#step:7:32

and

Failed to execute: llvm_clang

https://github.com/Homebrew/homebrew-core/runs/2481530095?check_suite_focus=true#step:7:62

Test run from 43df38b.

CC @Bo98

@carlocab carlocab force-pushed the bump-grpc-1.37.0 branch from 5bf3b63 to 043ab16 Compare May 2, 2021 04:05
@Bo98
Copy link
Member

Bo98 commented May 2, 2021

First is a known homebrew-test-bot bug. Second is a brew bug.

@carlocab
Copy link
Member

carlocab commented May 2, 2021

==> brew style homebrew/core
==> FAILED
Formula/grpc.rb:92:19: C: Use "#{ENV.cc}" instead of hard-coding "clang"
      ENV["CC"] = "/usr/bin/clang" if MacOS.version <= :mojave
                  ^^^^^^^^^^^^^^^^

But I really don't want to use "#{ENV.cc}", because it's broken.

@carlocab carlocab force-pushed the bump-grpc-1.37.0 branch from 043ab16 to 1121381 Compare May 2, 2021 04:44
@carlocab carlocab removed the stale No recent activity label May 2, 2021
@carlocab carlocab force-pushed the bump-grpc-1.37.0 branch from 1121381 to 32b5e90 Compare May 2, 2021 20:01
Formula/grpc.rb Outdated
Comment on lines 91 to 98
# `brew` has a bug that breaks `ENV.cc` in test blocks when
# compiling with brewed LLVM. The obvious workaround doesn't
# work because of an audit that prevents setting CC=clang.
# TODO: Fix this terrible hack.
on_macos do
compiler = "clang"
ENV["CC"] = compiler
end
Copy link
Member

Choose a reason for hiding this comment

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

This should be fixed properly.

At this point I'd argue that if the goal is to select a specific compiler rather than reject others, then simply setting HOMEBREW_CC in the install block is probably easier.

Though that's not really documented and there should probably be a proper DSL for it.

Copy link
Member

Choose a reason for hiding this comment

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

Setting HOMEBREW_CC didn't work, unfortunately. Either that or I did it wrong.

Copy link
Member

Choose a reason for hiding this comment

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

I just realised ENV.llvm_clang exists. Maybe try call that instead? It'll set HOMEBREW_CC for you.

Formula/grpc.rb Outdated
Comment on lines 37 to 43
fails_with :clang do
build 1100
end
Copy link
Member

Choose a reason for hiding this comment

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

Add a reason here please.

I've tested it out, it seems to be something to do with setting default values to struct fields while under C++17 mode. Switching to set the defaults in a constructor (requires a patch) or to use C++14 instead avoids the issue (though I understand C++17 is used because abseil is compiled that way).

@carlocab carlocab force-pushed the bump-grpc-1.37.0 branch from 32b5e90 to b9d2215 Compare May 2, 2021 20:32
Also, build with brewed llvm on Mojave, as the build fails with system
clang.
@carlocab carlocab force-pushed the bump-grpc-1.37.0 branch from b9d2215 to 6f38e7f Compare May 3, 2021 13:44
@carlocab carlocab added ready to merge PR can be merged once CI is green and removed 10.14 Mojave is specifically affected build failure CI fails while building the software labels May 3, 2021
@carlocab carlocab requested a review from Bo98 May 3, 2021 23:33
@Bo98
Copy link
Member

Bo98 commented May 3, 2021

Looks good. I was tempted it patch it before but that has come out very clean so I think this is better 👍

@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 Jun 3, 2021
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 3, 2021
@chenrui333 chenrui333 deleted the bump-grpc-1.37.0 branch December 18, 2022 05:43
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
outdated PR was locked due to age ready to merge PR can be merged once CI is green
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants