gliderlabs / registrator

Service registry bridge for Docker with pluggable adapters
http://gliderlabs.com/registrator
MIT License
4.66k stars 912 forks source link

Project is using deprecated module. #600

Open skoch123 opened 7 years ago

skoch123 commented 7 years ago

Module github.com/coreos/go-etcd/etcd is deprecated. When I'm building package I catch this:

github.com/coreos/go-etcd/etcd ../../coreos/go-etcd/etcd/response.generated.go:99: r.EncodeArrayStart undefined (type codec.encDriver has no field or method EncodeArrayStart) ../../coreos/go-etcd/etcd/response.generated.go:107: r.EncodeMapStart undefined (type codec.encDriver has no field or method EncodeMapStart) ../../coreos/go-etcd/etcd/response.generated.go:111: z.EncSendContainerState undefined (type codec.genHelperEncoder has no field or method EncSendContainerState) ../../coreos/go-etcd/etcd/response.generated.go:119: z.EncSendContainerState undefined (type codec.genHelperEncoder has no field or method EncSendContainerState) ../../coreos/go-etcd/etcd/response.generated.go:121: z.EncSendContainerState undefined (type codec.genHelperEncoder has no field or method EncSendContainerState) ../../coreos/go-etcd/etcd/response.generated.go:130: z.EncSendContainerState undefined (type codec.genHelperEncoder has no field or method EncSendContainerState) ../../coreos/go-etcd/etcd/response.generated.go:142: z.EncSendContainerState undefined (type codec.genHelperEncoder has no field or method EncSendContainerState) ../../coreos/go-etcd/etcd/response.generated.go:144: z.EncSendContainerState undefined (type codec.genHelperEncoder has no field or method EncSendContainerState) ../../coreos/go-etcd/etcd/response.generated.go:157: z.EncSendContainerState undefined (type codec.genHelperEncoder has no field or method EncSendContainerState) ../../coreos/go-etcd/etcd/response.generated.go:170: z.EncSendContainerState undefined (type codec.genHelperEncoder has no field or method EncSendContainerState) ../../coreos/go-etcd/etcd/response.generated.go:170: too many errors

kmai commented 6 years ago

after doing go get ./... try checking out https://github.com/ugorji/go/commit/8c0409fcbb70099c748d71f714529204975f6c3f on $GOPATH/src/github.com/ugorji/go.

This codec's code got refactored and some methods were deprecated without notice or had it's signature changed.

jgelens commented 6 years ago

That workaround works, but now I'm getting:

../../hashicorp/consul/vendor/github.com/armon/go-metrics/inmem_endpoint.go:72: undefined: sort.Slice
../../hashicorp/consul/vendor/github.com/armon/go-metrics/inmem_endpoint.go:86: undefined: sort.Slice
../../hashicorp/consul/vendor/github.com/armon/go-metrics/inmem_endpoint.go:113: undefined: sort.Slice

Any idea what's best to fix or pin these dependencies?

Commit f036747b9d0e8590f175a5d654a2194a7d9df4b5 for go-metrics worked as workaround

kmai commented 6 years ago

there should be some type of constraint on the dependencies used, pointing to a specific release tag (and not to master)

shank7485 commented 6 years ago

@jgeiger Found any solution to the issue? Even I am getting the same error.

../../hashicorp/consul/vendor/github.com/armon/go-metrics/inmem_endpoint.go:72: undefined: sort.Slice ../../hashicorp/consul/vendor/github.com/armon/go-metrics/inmem_endpoint.go:86: undefined: sort.Slice ../../hashicorp/consul/vendor/github.com/armon/go-metrics/inmem_endpoint.go:113: undefined: sort.Slice

shank7485 commented 6 years ago

Found a solution. It seems like they only support latest version of Go [1]. Upgrade it and it works fine.

[1] - https://github.com/hashicorp/terraform/issues/12556