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

cmux fails to compile, what are the correct libs/versions for usage ? #38

Closed
thomasmodeneis opened this issue Nov 17, 2016 · 3 comments
Closed

Comments

@thomasmodeneis
Copy link

Hi,

I can't find the precise libs and respective versions required to run this project, so I've saved a godeps package with my current ones.

However when I run the tests, I'm facing the following compilation problems.
Could you advise me, what are the proper libs I should have installed in order to by pass this ?

Cheers.

$ godep go test
# cmux/vendor/google.golang.org/grpc/transport
vendor/google.golang.org/grpc/transport/http2_client.go:840: undefined: http2.MetaHeadersFrame
vendor/google.golang.org/grpc/transport/http2_client.go:943: undefined: http2.MetaHeadersFrame
vendor/google.golang.org/grpc/transport/http2_server.go:145: undefined: http2.MetaHeadersFrame
vendor/google.golang.org/grpc/transport/http2_server.go:281: undefined: http2.MetaHeadersFrame
vendor/google.golang.org/grpc/transport/http_util.go:382: f.fr.ReadMetaHeaders undefined (type *http2.Framer has no field or method ReadMetaHeaders)
vendor/google.golang.org/grpc/transport/http_util.go:512: f.fr.ErrorDetail undefined (type *http2.Framer has no field or method ErrorDetail)
FAIL    cmux [build failed]
godep: go exit status 2

This is the godeps I've got after git clone from master and run godep save:

{
	"ImportPath": "cmux",
	"GoVersion": "go1.7",
	"GodepVersion": "v74",
	"Deps": [
		{
			"ImportPath": "github.com/golang/protobuf/proto",
			"Rev": "7cc19b78d562895b13596ddce7aafb59dd789318"
		},
		{
			"ImportPath": "github.com/soheilhy/cmux",
			"Comment": "v0.1.2",
			"Rev": "bf4a8ede9e87c006fe1d4278c6c7f2b8be1fa84c"
		},
		{
			"ImportPath": "golang.org/x/net/context",
			"Rev": "cbbbe2bc0f2efdd2afb318d93f1eadb19350e4a3"
		},
		{
			"ImportPath": "golang.org/x/net/http2",
			"Rev": "cbbbe2bc0f2efdd2afb318d93f1eadb19350e4a3"
		},
		{
			"ImportPath": "golang.org/x/net/http2/hpack",
			"Rev": "cbbbe2bc0f2efdd2afb318d93f1eadb19350e4a3"
		},
		{
			"ImportPath": "golang.org/x/net/internal/timeseries",
			"Rev": "cbbbe2bc0f2efdd2afb318d93f1eadb19350e4a3"
		},
		{
			"ImportPath": "golang.org/x/net/trace",
			"Rev": "cbbbe2bc0f2efdd2afb318d93f1eadb19350e4a3"
		},
		{
			"ImportPath": "golang.org/x/net/websocket",
			"Rev": "cbbbe2bc0f2efdd2afb318d93f1eadb19350e4a3"
		},
		{
			"ImportPath": "google.golang.org/grpc",
			"Comment": "v1.0.2-30-g9eaed1a",
			"Rev": "9eaed1a74af580b44448989c8ed830bc210bddf4"
		},
		{
			"ImportPath": "google.golang.org/grpc/codes",
			"Comment": "v1.0.2-30-g9eaed1a",
			"Rev": "9eaed1a74af580b44448989c8ed830bc210bddf4"
		},
		{
			"ImportPath": "google.golang.org/grpc/credentials",
			"Comment": "v1.0.2-30-g9eaed1a",
			"Rev": "9eaed1a74af580b44448989c8ed830bc210bddf4"
		},
		{
			"ImportPath": "google.golang.org/grpc/examples/helloworld/helloworld",
			"Comment": "v1.0.2-30-g9eaed1a",
			"Rev": "9eaed1a74af580b44448989c8ed830bc210bddf4"
		},
		{
			"ImportPath": "google.golang.org/grpc/grpclog",
			"Comment": "v1.0.2-30-g9eaed1a",
			"Rev": "9eaed1a74af580b44448989c8ed830bc210bddf4"
		},
		{
			"ImportPath": "google.golang.org/grpc/internal",
			"Comment": "v1.0.2-30-g9eaed1a",
			"Rev": "9eaed1a74af580b44448989c8ed830bc210bddf4"
		},
		{
			"ImportPath": "google.golang.org/grpc/metadata",
			"Comment": "v1.0.2-30-g9eaed1a",
			"Rev": "9eaed1a74af580b44448989c8ed830bc210bddf4"
		},
		{
			"ImportPath": "google.golang.org/grpc/naming",
			"Comment": "v1.0.2-30-g9eaed1a",
			"Rev": "9eaed1a74af580b44448989c8ed830bc210bddf4"
		},
		{
			"ImportPath": "google.golang.org/grpc/peer",
			"Comment": "v1.0.2-30-g9eaed1a",
			"Rev": "9eaed1a74af580b44448989c8ed830bc210bddf4"
		},
		{
			"ImportPath": "google.golang.org/grpc/transport",
			"Comment": "v1.0.2-30-g9eaed1a",
			"Rev": "9eaed1a74af580b44448989c8ed830bc210bddf4"
		}
	]
}

@thomasmodeneis thomasmodeneis changed the title cmux fails to compile with grpc latest cmux fails to compile, what are the correct libs/versions for usage ? Nov 17, 2016
@soheilhy
Copy link
Owner

I think this is a dup of: grpc/grpc-go#581

What happens if you update your vendored copy of the grpc?

@thomasmodeneis
Copy link
Author

Yep, that fixed it.
Would it be nice to warn users about the minimum required version or the recommended versions ? Maybe share a godeps file or something with Glide ?

This is the godeps file with the "working" versions:

{
    "ImportPath": "cmux",
    "GoVersion": "go1.7",
    "GodepVersion": "v74",
    "Deps": [
        {
            "ImportPath": "github.com/golang/protobuf/proto",
            "Rev": "8ee79997227bf9b34611aee7946ae64735e6fd93"
        },
        {
            "ImportPath": "github.com/soheilhy/cmux",
            "Comment": "v0.1.2",
            "Rev": "bf4a8ede9e87c006fe1d4278c6c7f2b8be1fa84c"
        },
        {
            "ImportPath": "golang.org/x/net/context",
            "Rev": "4971afdc2f162e82d185353533d3cf16188a9f4e"
        },
        {
            "ImportPath": "golang.org/x/net/http2",
            "Rev": "4971afdc2f162e82d185353533d3cf16188a9f4e"
        },
        {
            "ImportPath": "golang.org/x/net/http2/hpack",
            "Rev": "4971afdc2f162e82d185353533d3cf16188a9f4e"
        },
        {
            "ImportPath": "golang.org/x/net/idna",
            "Rev": "4971afdc2f162e82d185353533d3cf16188a9f4e"
        },
        {
            "ImportPath": "golang.org/x/net/internal/timeseries",
            "Rev": "4971afdc2f162e82d185353533d3cf16188a9f4e"
        },
        {
            "ImportPath": "golang.org/x/net/lex/httplex",
            "Rev": "4971afdc2f162e82d185353533d3cf16188a9f4e"
        },
        {
            "ImportPath": "golang.org/x/net/trace",
            "Rev": "4971afdc2f162e82d185353533d3cf16188a9f4e"
        },
        {
            "ImportPath": "golang.org/x/net/websocket",
            "Rev": "4971afdc2f162e82d185353533d3cf16188a9f4e"
        },
        {
            "ImportPath": "google.golang.org/grpc",
            "Comment": "v1.0.4-59-gb13ef79",
            "Rev": "b13ef794997191ec801db90a42c50034df91850a"
        },
        {
            "ImportPath": "google.golang.org/grpc/codes",
            "Comment": "v1.0.4-59-gb13ef79",
            "Rev": "b13ef794997191ec801db90a42c50034df91850a"
        },
        {
            "ImportPath": "google.golang.org/grpc/credentials",
            "Comment": "v1.0.4-59-gb13ef79",
            "Rev": "b13ef794997191ec801db90a42c50034df91850a"
        },
        {
            "ImportPath": "google.golang.org/grpc/examples/helloworld/helloworld",
            "Comment": "v1.0.4-59-gb13ef79",
            "Rev": "b13ef794997191ec801db90a42c50034df91850a"
        },
        {
            "ImportPath": "google.golang.org/grpc/grpclog",
            "Comment": "v1.0.4-59-gb13ef79",
            "Rev": "b13ef794997191ec801db90a42c50034df91850a"
        },
        {
            "ImportPath": "google.golang.org/grpc/internal",
            "Comment": "v1.0.4-59-gb13ef79",
            "Rev": "b13ef794997191ec801db90a42c50034df91850a"
        },
        {
            "ImportPath": "google.golang.org/grpc/metadata",
            "Comment": "v1.0.4-59-gb13ef79",
            "Rev": "b13ef794997191ec801db90a42c50034df91850a"
        },
        {
            "ImportPath": "google.golang.org/grpc/naming",
            "Comment": "v1.0.4-59-gb13ef79",
            "Rev": "b13ef794997191ec801db90a42c50034df91850a"
        },
        {
            "ImportPath": "google.golang.org/grpc/peer",
            "Comment": "v1.0.4-59-gb13ef79",
            "Rev": "b13ef794997191ec801db90a42c50034df91850a"
        },
        {
            "ImportPath": "google.golang.org/grpc/stats",
            "Comment": "v1.0.4-59-gb13ef79",
            "Rev": "b13ef794997191ec801db90a42c50034df91850a"
        },
        {
            "ImportPath": "google.golang.org/grpc/tap",
            "Comment": "v1.0.4-59-gb13ef79",
            "Rev": "b13ef794997191ec801db90a42c50034df91850a"
        },
        {
            "ImportPath": "google.golang.org/grpc/transport",
            "Comment": "v1.0.4-59-gb13ef79",
            "Rev": "b13ef794997191ec801db90a42c50034df91850a"
        }
    ]
}

Cheers.

@soheilhy
Copy link
Owner

Thanks for the confirmation. I don't think this has anything to do with cmux. That's natural when you vendor your dependencies.

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

2 participants