Skip to content

Conversation

@regro-cf-autotick-bot
Copy link
Contributor

This PR has been triggered in an effort to update absl_grpc_proto.

Notes and instructions for merging this PR:

  1. Please merge the PR only after the tests have passed.
  2. Feel free to push to the bot's branch to update this PR if needed.

Please note that if you close this PR we presume that the feedstock has been rebuilt, so if you are going to perform the rebuild yourself don't close this PR until the your rebuild has been merged.


If this PR was opened in error or needs to be updated please add the bot-rerun label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase @conda-forge-admin, please rerun bot in a PR comment to have the conda-forge-admin add it for you.

This PR was created by the regro-cf-autotick-bot. The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. Feel free to drop us a line if there are any issues! This PR was generated by https://github.com/regro/cf-scripts/actions/runs/13845673470 - please use this URL for debugging.

@conda-forge-admin
Copy link
Contributor

conda-forge-admin commented Mar 13, 2025

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipe/meta.yaml:

  • ℹ️ The recipe is not parsable by parser conda-souschef (grayskull). This parser is not currently used by conda-forge, but may be in the future. We are collecting information to see which recipes are compatible with grayskull.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/14568022151. Examine the logs at this URL for more detail.

@h-vetinari h-vetinari added the automerge Merge the PR when CI passes label Mar 13, 2025
@h-vetinari h-vetinari removed the automerge Merge the PR when CI passes label Mar 14, 2025
@h-vetinari
Copy link
Member

h-vetinari commented Mar 14, 2025

@coryan, is google-cloud-cpp compatible with protobuf v29.3 & grpc 1.71 already?
I'm getting

[1595/3397] Building CXX object google\cloud\storage\CMakeFiles\google_cloud_cpp_storage_protos.dir\google\storage\v2\storage.grpc.pb.cc.obj
FAILED: google/cloud/storage/CMakeFiles/google_cloud_cpp_storage_protos.dir/google/storage/v2/storage.grpc.pb.cc.obj 
C:\PROGRA~1\MICROS~2\2022\ENTERP~1\VC\Tools\MSVC\1429~1.301\bin\HostX64\x64\cl.exe  /nologo /TP -DABSL_CONSUME_DLL -DGPR_DLL_IMPORTS -DGRPCXX_DLL_IMPORTS -DGRPC_DLL_IMPORTS -DPROTOBUF_USE_DLLS -external:I%SRC_DIR%\build\google\cloud\storage -external:I%PREFIX%\Library\include -external:W0 /DWIN32 /D_WINDOWS /EHsc /O2 /Ob2 /DNDEBUG -std:c++17 -MD /bigobj /experimental:external /external:W0 /external:anglebrackets /wd4244 /wd4251 /showIncludes /Fogoogle\cloud\storage\CMakeFiles\google_cloud_cpp_storage_protos.dir\google\storage\v2\storage.grpc.pb.cc.obj /Fdgoogle\cloud\storage\CMakeFiles\google_cloud_cpp_storage_protos.dir\google_cloud_cpp_storage_protos.pdb /FS -c %SRC_DIR%\build\google\cloud\storage\google\storage\v2\storage.grpc.pb.cc
%PREFIX%\Library\include\google/protobuf/message_lite.h(1191): warning C4141: 'inline': used more than once
%PREFIX%\Library\include\google/protobuf/message_lite.h(1297): warning C4141: 'inline': used more than once
%SRC_DIR%\build\google\cloud\storage\google\storage\v2\storage.grpc.pb.cc(385): error C2039: 'GetObjectA': is not a member of 'google::storage::v2::Storage::Stub'
%SRC_DIR%\build\google\cloud\storage\google/storage/v2/storage.grpc.pb.h(772): note: see declaration of 'google::storage::v2::Storage::Stub'
%SRC_DIR%\build\google\cloud\storage\google\storage\v2\storage.grpc.pb.cc(386): error C2065: 'channel_': undeclared identifier
%SRC_DIR%\build\google\cloud\storage\google\storage\v2\storage.grpc.pb.cc(386): error C2065: 'rpcmethod_GetObject_': undeclared identifier
%SRC_DIR%\build\google\cloud\storage\google\storage\v2\storage.grpc.pb.cc(389): error C2039: 'GetObjectA': is not a member of 'google::storage::v2::Storage::Stub::async'
%SRC_DIR%\build\google\cloud\storage\google/storage/v2/storage.grpc.pb.h(951): note: see declaration of 'google::storage::v2::Storage::Stub::async'
%SRC_DIR%\build\google\cloud\storage\google\storage\v2\storage.grpc.pb.cc(390): error C2065: 'stub_': undeclared identifier
%SRC_DIR%\build\google\cloud\storage\google\storage\v2\storage.grpc.pb.cc(390): error C2065: 'stub_': undeclared identifier
%SRC_DIR%\build\google\cloud\storage\google\storage\v2\storage.grpc.pb.cc(390): error C2672: 'grpc::internal::CallbackUnaryCall': no matching overloaded function found
%SRC_DIR%\build\google\cloud\storage\google\storage\v2\storage.grpc.pb.cc(390): error C2780: 'void grpc::internal::CallbackUnaryCall(grpc::ChannelInterface *,const grpc::internal::RpcMethod &,grpc::ClientContext *,const InputMessage *,OutputMessage *,std::function<void (grpc::Status)>)': expects 6 arguments - 5 provided
%PREFIX%\Library\include\grpcpp/support/client_callback.h(52): note: see declaration of 'grpc::internal::CallbackUnaryCall'
%SRC_DIR%\build\google\cloud\storage\google\storage\v2\storage.grpc.pb.cc(393): error C2039: 'GetObjectA': is not a member of 'google::storage::v2::Storage::Stub::async'
%SRC_DIR%\build\google\cloud\storage\google/storage/v2/storage.grpc.pb.h(951): note: see declaration of 'google::storage::v2::Storage::Stub::async'
%SRC_DIR%\build\google\cloud\storage\google\storage\v2\storage.grpc.pb.cc(394): error C2065: 'stub_': undeclared identifier
%SRC_DIR%\build\google\cloud\storage\google\storage\v2\storage.grpc.pb.cc(394): error C2065: 'stub_': undeclared identifier
%SRC_DIR%\build\google\cloud\storage\google\storage\v2\storage.grpc.pb.cc(394): error C2672: 'grpc::internal::ClientCallbackUnaryFactory::Create': no matching overloaded function found
%SRC_DIR%\build\google\cloud\storage\google\storage\v2\storage.grpc.pb.cc(394): error C2780: 'void grpc::internal::ClientCallbackUnaryFactory::Create(grpc::ChannelInterface *,const grpc::internal::RpcMethod &,grpc::ClientContext *,const Request *,Response *,grpc::ClientUnaryReactor *)': expects 6 arguments - 5 provided
%PREFIX%\Library\include\grpcpp/support/client_callback.h(1210): note: see declaration of 'grpc::internal::ClientCallbackUnaryFactory::Create'
%SRC_DIR%\build\google\cloud\storage\google\storage\v2\storage.grpc.pb.cc(749): error C2039: 'GetObjectA': is not a member of 'google::storage::v2::Storage::Service'
%SRC_DIR%\build\google\cloud\storage\google/storage/v2/storage.grpc.pb.h(1088): note: see declaration of 'google::storage::v2::Storage::Service'
%SRC_DIR%\build\google\cloud\storage\google\storage\v2\storage.grpc.pb.cc(749): error C2039: '__this': is not a member of 'google::storage::v2::Storage::Service'
%SRC_DIR%\build\google\cloud\storage\google/storage/v2/storage.grpc.pb.h(1088): note: see declaration of 'google::storage::v2::Storage::Service'
%SRC_DIR%\build\google\cloud\storage\google\storage\v2\storage.grpc.pb.cc(744): error C2664: 'grpc::internal::RpcMethodHandler<google::storage::v2::Storage::Service,google::storage::v2::GetObjectRequest,google::storage::v2::Object,grpc::protobuf::MessageLite,grpc::protobuf::MessageLite>::RpcMethodHandler(std::function<grpc::Status (ServiceType *,grpc::ServerContext *,const RequestType *,ResponseType *)>,ServiceType *)': cannot convert argument 1 from 'google::storage::v2::Storage::Service::{ctor}::<lambda_32c314a50330fb175b5e60991aab36b3>' to 'std::function<grpc::Status (ServiceType *,grpc::ServerContext *,const RequestType *,ResponseType *)>'
        with
        [
            ServiceType=google::storage::v2::Storage::Service,
            RequestType=google::storage::v2::GetObjectRequest,
            ResponseType=google::storage::v2::Object
        ]
%SRC_DIR%\build\google\cloud\storage\google\storage\v2\storage.grpc.pb.cc(750): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
%PREFIX%\Library\include\grpcpp/support/method_handler.h(102): note: see declaration of 'grpc::internal::RpcMethodHandler<google::storage::v2::Storage::Service,google::storage::v2::GetObjectRequest,google::storage::v2::Object,grpc::protobuf::MessageLite,grpc::protobuf::MessageLite>::RpcMethodHandler'
%SRC_DIR%\build\google\cloud\storage\google\storage\v2\storage.grpc.pb.cc(741): error C2661: 'grpc::internal::RpcServiceMethod::RpcServiceMethod': no overloaded function takes 2 arguments
%SRC_DIR%\build\google\cloud\storage\google\storage\v2\storage.grpc.pb.cc(947): error C2039: 'GetObjectA': is not a member of 'google::storage::v2::Storage::Service'
%SRC_DIR%\build\google\cloud\storage\google/storage/v2/storage.grpc.pb.h(1088): note: see declaration of 'google::storage::v2::Storage::Service'

which is a bit surprising, because we just generated the respective files further up with - what should be - a consistent set of protoc/grpc:

[216/3397] Running C++ protocol buffer compiler on C:/bld/google-cloud-cpp-split_1741906329885/work/build/external/googleapis/src/googleapis_download/google/storage/v2/storage.proto
[217/3397] Running gRPC C++ protocol buffer compiler on C:/bld/google-cloud-cpp-split_1741906329885/work/build/external/googleapis/src/googleapis_download/google/storage/v2/storage.proto

Of course, it's not impossible that this is due to the extensive hackery that was necessary to get the current round of version increments to work, but it's a bit curious nevertheless, because all the other feedstocks so far were fine, and also, exporting grpc::internal::CallbackUnaryCall seems problematic, because AFAIU it needs to template over types that may not be known when we build grpc. I've pushed another commit to that PR which attempts it anyway - I have no strong feelings how this should be resolved, but was hoping you'd have an idea or a preference.

PS. Huh, I had missed 80ca7d3 - hope you don't mind the ping. Otherwise the same question goes to @dbolduc 😅

@dbolduc
Copy link
Contributor

dbolduc commented Mar 14, 2025

It looks like we only build against protobuf 29.3 upstream. We have not adopted a gRPC past 1.69.0. I have not been following why.

googleapis/google-cloud-cpp#14922

Aside: I am no longer on the google-cloud-cpp project either. I will soon send PRs to remove myself as a maintainer here.

cc: @scotthart who knows more about the state of google-cloud-cpp and its dependencies than I do

@coryan
Copy link
Contributor

coryan commented Mar 14, 2025

PS. Huh, I had missed 80ca7d3 - hope you don't mind the ping. Otherwise the same question goes to @dbolduc 😅

Don't mind at all.

I speculate that this:

%SRC_DIR%\build\google\cloud\storage\google\storage\v2\storage.grpc.pb.cc(385): error C2039: 'GetObjectA': is not a member of 'google::storage::v2::Storage::Stub'

Has something to do with a recently fixed bug in gRPC: grpc/grpc#33501 But I say this only because of a loose pattern match: GetObjectA is the expansion of a macro in Windows, the handling of these macros recently changed (keep in mind that I have biased because I was CCed on that bug, but not in many other bugs).

@h-vetinari h-vetinari force-pushed the rebuild-absl_grpc_proto-0-1_hbe565e branch from 6d68cae to 8901238 Compare April 21, 2025 05:36
@h-vetinari
Copy link
Member

@simia, I backported your upstream PR in conda-forge/grpc-cpp-feedstock#403, thanks a lot!

We get a lot further now, but it still fails

[2951/3397] Building CXX object google\cloud\storage\CMakeFiles\google_cloud_cpp_storage_grpc.dir\internal\storage_stub.cc.obj
FAILED: google/cloud/storage/CMakeFiles/google_cloud_cpp_storage_grpc.dir/internal/storage_stub.cc.obj 
C:\PROGRA~1\MICROS~2\2022\ENTERP~1\VC\Tools\MSVC\1429~1.301\bin\HostX64\x64\cl.exe  /nologo /TP -DABSL_CONSUME_DLL -DGOOGLE_CLOUD_CPP_STORAGE_HAVE_GRPC -DGPR_DLL_IMPORTS -DGRPCXX_DLL_IMPORTS -DGRPC_DLL_IMPORTS -DPROTOBUF_USE_DLLS -I%SRC_DIR% -external:I%PREFIX%\Library\include -external:I%SRC_DIR%\build\google\cloud\storage -external:W0 /DWIN32 /D_WINDOWS /EHsc /O2 /Ob2 /DNDEBUG -std:c++17 -MD /bigobj /experimental:external /external:W0 /external:anglebrackets /W3 /wd4996 /showIncludes /Fogoogle\cloud\storage\CMakeFiles\google_cloud_cpp_storage_grpc.dir\internal\storage_stub.cc.obj /Fdgoogle\cloud\storage\CMakeFiles\google_cloud_cpp_storage_grpc.dir\google_cloud_cpp_storage_grpc.pdb /FS -c %SRC_DIR%\google\cloud\storage\internal\storage_stub.cc
%SRC_DIR%\google\cloud\storage\internal\storage_stub.cc(189): error C2039: 'GetObjectA': is not a member of 'google::storage::v2::Storage::StubInterface'
%SRC_DIR%\build\google\cloud\storage\google/storage/v2/storage.grpc.pb.h(74): note: see declaration of 'google::storage::v2::Storage::StubInterface'
%SRC_DIR%\google\cloud\storage\internal\storage_stub.cc(190): error C3536: 'status': cannot be used before it is initialized
%SRC_DIR%\google\cloud\storage\internal\storage_stub.cc(191): error C2665: 'google::cloud::v2_36::MakeStatusFromRpcError': none of the 3 overloads could convert all the argument types
%SRC_DIR%\google/cloud/grpc_error_delegate.h(46): note: could be 'google::cloud::v2_36::Status google::cloud::v2_36::MakeStatusFromRpcError(const google::rpc::Status &)'
%SRC_DIR%\google/cloud/grpc_error_delegate.h(31): note: or       'google::cloud::v2_36::Status google::cloud::v2_36::MakeStatusFromRpcError(const grpc::Status &)'
%SRC_DIR%\google\cloud\storage\internal\storage_stub.cc(191): note: while trying to match the argument list '(int)'

which seems to be similarly affected by the windows macro shenanigans.

copybara-service bot pushed a commit to grpc/grpc that referenced this pull request Apr 25, 2025
#38474 added protection from unwanted macros to the header files. This PR adds the same protection to the source files.
Without protection both in header and source files the code containing system macros will not compile. Macros will apply to function names in cc files and those will start to differ from the ones in header files.

This solves issues like described here: conda-forge/google-cloud-cpp-feedstock#196

Closes #39266

COPYBARA_INTEGRATE_REVIEW=#39266 from simia:protect_cc_files 3323fba
PiperOrigin-RevId: 751501020
eugeneo pushed a commit to eugeneo/grpc that referenced this pull request Apr 28, 2025
grpc#38474 added protection from unwanted macros to the header files. This PR adds the same protection to the source files.
Without protection both in header and source files the code containing system macros will not compile. Macros will apply to function names in cc files and those will start to differ from the ones in header files.

This solves issues like described here: conda-forge/google-cloud-cpp-feedstock#196

Closes grpc#39266

COPYBARA_INTEGRATE_REVIEW=grpc#39266 from simia:protect_cc_files 3323fba
PiperOrigin-RevId: 751501020
pawbhard pushed a commit to pawbhard/grpc that referenced this pull request May 6, 2025
grpc#38474 added protection from unwanted macros to the header files. This PR adds the same protection to the source files.
Without protection both in header and source files the code containing system macros will not compile. Macros will apply to function names in cc files and those will start to differ from the ones in header files.

This solves issues like described here: conda-forge/google-cloud-cpp-feedstock#196

Closes grpc#39266

COPYBARA_INTEGRATE_REVIEW=grpc#39266 from simia:protect_cc_files 3323fba
PiperOrigin-RevId: 751501020
pawbhard pushed a commit to pawbhard/grpc that referenced this pull request May 6, 2025
grpc#38474 added protection from unwanted macros to the header files. This PR adds the same protection to the source files.
Without protection both in header and source files the code containing system macros will not compile. Macros will apply to function names in cc files and those will start to differ from the ones in header files.

This solves issues like described here: conda-forge/google-cloud-cpp-feedstock#196

Closes grpc#39266

COPYBARA_INTEGRATE_REVIEW=grpc#39266 from simia:protect_cc_files 3323fba
PiperOrigin-RevId: 751501020
veblush pushed a commit to grpc/grpc that referenced this pull request May 6, 2025
…em macros (#39266) (#39484)

#38474 added protection from unwanted macros to the header files. This
PR adds the same protection to the source files. Without protection both
in header and source files the code containing system macros will not
compile. Macros will apply to function names in cc files and those will
start to differ from the ones in header files.

This solves issues like described here:
conda-forge/google-cloud-cpp-feedstock#196

Closes #39266

COPYBARA_INTEGRATE_REVIEW=#39266 from
simia:protect_cc_files 3323fba
PiperOrigin-RevId: 751501020

Co-authored-by: Tomasz Kaczkowski <[email protected]>
veblush pushed a commit to grpc/grpc that referenced this pull request May 6, 2025
…em macros (#39266) (#39483)

#38474 added protection from unwanted macros to the header files. This
PR adds the same protection to the source files. Without protection both
in header and source files the code containing system macros will not
compile. Macros will apply to function names in cc files and those will
start to differ from the ones in header files.

This solves issues like described here:
conda-forge/google-cloud-cpp-feedstock#196

Closes #39266

COPYBARA_INTEGRATE_REVIEW=#39266 from
simia:protect_cc_files 3323fba
PiperOrigin-RevId: 751501020

Co-authored-by: Tomasz Kaczkowski <[email protected]>
@h-vetinari h-vetinari mentioned this pull request Jun 15, 2025
3 tasks
@h-vetinari h-vetinari closed this Jul 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants