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
cmd/go: go1.6beta1 not understood as "release" for standard library rebuild logic #13713
Comments
What do |
|
FWIW I installed this pkg: https://storage.googleapis.com/golang/go1.6beta1.darwin-amd64.pkg |
It looks like this gets triggered any time 'net/http' gets imported. If i relax perms on the vendor directory, the next error is this
|
|
Hey @rsc, I was able to repro this. Here are the steps:
(AFAICS this is a valid use case of the above package in a server capacity...)
I was able to get things to work just be removing my $GOPATH/src/golang.org directory. I don't know if this is something that needs to be thought about prior to 1.6 release... |
Again, what are the permissions in the broken state? |
|
Oh! |
Check out #13769, it might be related. On Tue, 29 Dec 2015, 20:53 Russ Cox notifications@github.com wrote:
|
@rsc, I don't think your guess is correct, given this code in cmd/go: // The runtime version string takes one of two forms:
// "go1.X[.Y]" for Go releases, and "devel +hash" at tip.
// Determine whether we are in a released copy by
// inspecting the version.
var isGoRelease = strings.HasPrefix(runtime.Version(), "go1") That would be true for |
I had been thinking this didn't matter for the release because we wouldn't do another beta, but given what @bradfitz found it sounds like I need to figure this out for the release candidate. Noted. |
I can't recreate this. @omarkilani Can you still recreate this on tip? If so could you provide step-by-step instructions to reproduce the problem? Thanks. |
Reproduced and debugged.
was meant to tease apart actual standard library in $GOROOT from other people dropping their own work in $GOROOT, as was common before $GOPATH came along. The idea was that other people should have domain names (with dots) in their paths, and the standard library did not. But vendoring introduces domain names into the standard library, and that vendored hpack package looks stale because it's not "standard", so it doesn't fall under the "released packages are not out of date" clause. It looks like we want to replace the final clause above with something like:
Will fix tomorrow. |
CL https://golang.org/cl/18978 mentions this issue. |
Friends, I feel current approach is generally broken. I'll file it separately.
|
Locking this issue to prevent further discussion here. File new issues for new behaviors please. |
Whenever I run 'go get' on my http2 using project, I get the following:
go install vendor/golang.org/x/net/http2/hpack: open /usr/local/go/pkg/darwin_amd64/vendor/golang.org/x/net/http2/hpack.a: permission denied
I'm not importing golang.org/x/net/http2 directly. I'm using the published darwin amd64 pkg for 1.6beta1.
I don't really know why I'm getting this error as the file already exists. I guess it's trying to update it for some reason, but the help for 'go get' says this:
Get never checks out or updates code stored in vendor directories.
Am I doing something stupid?
The text was updated successfully, but these errors were encountered: