cosmos-sdk: Makefile protobuf commands (proto-update-deps, proto-gen,..) not working

Summary of Bug

Many protobuf commands in the MakeFile are not working. For instance

make proto-update-deps make proto-gen make proto-all

Version

master branch, commitID: 4b0c66982a87e824d43873187ae049a9f572ed7a

Steps to Reproduce

OS: Ubuntu 18.04 GO version: go1.14.3

Selection_073


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 27 (25 by maintainers)

Most upvoted comments

You must have a discrepancy in your binary version(s). We need to ensure those targets run against very specific versions of binary deps.

Another issue/nit I’ve had with make proto-gen and subsequently make proto-all, if you run it with a broken .proto file, it leaves the github.com folder behind because it errors before cleanup.

I see the comment in v.14.7 release. Which tells me master is not on this version. I think it’d be good to add a check in the makefile to make sure the correct version is installed

another relevant issue that happened recently is the proto-tools make file checks if you have the dependency installed but not that you have the correct version. My versioning seems to be off for generating gateway files, but none of the make file commands will fix it

If anyone know what might be wrong with my setup, I’d really like to have it fixed:

protoc-gen-grpc-gateway --version
Version 1.14.7, commit 37837bc5882204897dfb5b17ee231fc645c9102d, built at 2020-08-12T08:49:14Z
protoc --version
libprotoc 3.13.0

it seems you actually have an error in one of the proto files. Is this you pulling from master and just running the cmd or altering somethings

The current proto development process has quite poor ux. A developer should need to download everything. In tendermint we offer two options, download everything or use docker. This should be offered in the sdk