I am a go newbie.
I have installed golang 1.9 from the official binary distribution on my ubuntu. I have also installed the Gogland IDE.
When I try to debug the simplest go program ("hello world") using Gogland, I get the following error:
GOROOT=/usr/local/go
GOPATH=/home/user/go
/usr/local/go/bin/go build -i -o /tmp/defaultgo -gcflags "-N -l" -a /home/user/go/src/hello/hello.go
go install runtime/internal/sys: open /usr/local/go/pkg/linux_amd64/runtime/internal/sys.a: permission denied
When trying to build from the command line (not using Gogland), I noticed that I get the same error whenever I am using the -i -a
switches.
Edit: EAP 13 was just released and it fixes this specific problem. Please see: https://blog.jetbrains.com/go/2017/09/04/gogland-eap-13-better-completion-new-inspections-fixed-performance-bugs-and-more/
Original:
This happens because of upgraded support from Delve for Go 1.9 projects.
The latest version of Delve will use
-a
in order to recompile all transitive dependencies and ensure none of them are included with their optimized versions instead of the debugging friendly ones so that it can remove a lot of potential bugs.You can remove the
-i
flag so that the dependencies are not installed, which shouldn't cause the error anymore.This will be improved hopefully in Go 1.10 as there are changes depending on the Go team.
Hope this explains the issue, if not, please see the discussion here: https://youtrack.jetbrains.com/issue/GO-4382
Edit: this will be addressed in the EAP 13, which is bound to be released very soon, see the tracking issue here: https://youtrack.jetbrains.com/issue/GO-4430 as it contains additional details regarding this problem