[Bug go/65462] New: Use of 'go get' with gccgo is not finding dependencies correctly
boger at us dot ibm.com
gcc-bugzilla@gcc.gnu.org
Wed Mar 18 19:38:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65462
Bug ID: 65462
Summary: Use of 'go get' with gccgo is not finding dependencies
correctly
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: go
Assignee: ian at airs dot com
Reporter: boger at us dot ibm.com
CC: cmang at google dot com
When using the go tool provided with gccgo in gcc 5.0, the use of 'go get'
doesn't always find and build the dependent packages correctly.
Here is an example:
go get -u github.com/mitchellh/gox
There is a dependent package github.com/mitchellh/iochan but that never gets
downloaded or built and as a result neither does github.com/mitchellh/gox. I
can make it work by downloading them in separate steps this way:
go get -u github.com/mitchellh/uchan
go get -u github.com/mitchellh/gox
After further debugging I found the problem has to do with the code in
libgo/go/cmd/go/pkg.go in the load function where it does this check:
....
p1 := loadImport(path, p.Dir, stk, p.build.ImportPos[path])
if !reqPkgSrc && p1.Root == "" {
continue
}
....
When it tries to load the github.com/mitchellh/uchan package, p1.Root == "" so
it skips the rest of the code in the loop that loads the package. Isn't this a
case where p1.Root should have a non-null string and therefore not
continue/skip the rest of the body of the loop and get it loaded?
More information about the Gcc-bugs
mailing list