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

[BUG] Cannot include Go Micro and gRPC versions above 1.27.0 #1731

Closed
pipe01 opened this issue Jun 23, 2020 · 4 comments
Closed

[BUG] Cannot include Go Micro and gRPC versions above 1.27.0 #1731

pipe01 opened this issue Jun 23, 2020 · 4 comments

Comments

@pipe01
Copy link

pipe01 commented Jun 23, 2020

Describe the bug

Running go get github.com/micro/go-micro/v2 and go get google.golang.org/grpc on a fresh package without any other packages installed and on a fresh Go installation outputs this:

# github.com/coreos/etcd/clientv3/balancer/resolver/endpoint
/root/go/pkg/mod/github.com/coreos/etcd@v3.3.18+incompatible/clientv3/balancer/resolver/endpoint/endpoint.go:114:78: undefined: resolver.BuildOption
/root/go/pkg/mod/github.com/coreos/etcd@v3.3.18+incompatible/clientv3/balancer/resolver/endpoint/endpoint.go:182:31: undefined: resolver.ResolveNowOption
# github.com/coreos/etcd/clientv3/balancer/picker
/root/go/pkg/mod/github.com/coreos/etcd@v3.3.18+incompatible/clientv3/balancer/picker/err.go:37:44: undefined: balancer.PickOptions
/root/go/pkg/mod/github.com/coreos/etcd@v3.3.18+incompatible/clientv3/balancer/picker/roundrobin_balanced.go:55:54: undefined: balancer.PickOptions

This is related to issue etcd-io/etcd#11563 and countless others, and it's been fixed in version 3.4.8 by etcd-io/etcd#11564 but Go Micro is importing version 3.3.18, which prevents me from using Google's gRPC version 1.30.0 that I need for unrelated reasons.

This could be solved by updating the etcd version this package uses to 3.4.8 or above.

How to reproduce the bug:

$ go mod init test
$ go get google.golang.org/grpc
$ go get github.com/micro/go-micro/v2

Environment:

GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOENV="/root/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/root/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/test/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build439350562=/tmp/go-build -gno-record-gcc-switches"
@vtolstov
Copy link
Contributor

for now you can use workaround
replace github.com/coreos/etcd => github.com/ozonru/etcd v3.3.20-grpc1.27-origmodule+incompatible

@pipe01
Copy link
Author

pipe01 commented Jun 23, 2020

Thank you very much, that works as a workaround

@mdere
Copy link

mdere commented Jul 24, 2020

Hello - so we ran into this issue on 2.9.1 - Will this be fixed or is this project going to rely on the replace for now?

@vtolstov
Copy link
Contributor

you can ask this in etcd issue, because this is not go-micro problem

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

No branches or pull requests

3 participants