Errors building with go version 1.7

I’m running into an issue building Hugo from source with go on a new computer (well, new to me, it’s an older MacBook Air). This is running go version 1.7 installed from Homebrew.

lolian:hugo mdhender$ uname -a
Darwin lolian.local 15.6.0 Darwin Kernel Version 15.6.0: Mon Aug 29 20:21:34 PDT 2016; root:xnu-3248.60.11~1/RELEASE_X86_64 x86_64

lolian:hugo mdhender$ go version
go version go1.7.1 darwin/amd64

The first error was

lolian:hugo mdhender$ go build -o hugo main.go
hugolib/site.go:32:2: cannot find package "github.com/bep/inflect" in any of:
	/usr/local/go/src/pkg/github.com/bep/inflect (from $GOROOT)
	/Users/mdhender/Software/go/src/github.com/bep/inflect (from $GOPATH)
commands/hugo.go:37:2: cannot find package "github.com/fsnotify/fsnotify" in any of:
	/usr/local/go/src/pkg/github.com/fsnotify/fsnotify (from $GOROOT)
	/Users/mdhender/Software/go/src/github.com/fsnotify/fsnotify (from $GOPATH)
helpers/emoji.go:20:2: cannot find package "github.com/kyokomi/emoji" in any of:
	/usr/local/go/src/pkg/github.com/kyokomi/emoji (from $GOROOT)
	/Users/mdhender/Software/go/src/github.com/kyokomi/emoji (from $GOPATH)
hugolib/i18n.go:17:2: cannot find package "github.com/nicksnyder/go-i18n/i18n/bundle" in any of:
	/usr/local/go/src/pkg/github.com/nicksnyder/go-i18n/i18n/bundle (from $GOROOT)
	/Users/mdhender/Software/go/src/github.com/nicksnyder/go-i18n/i18n/bundle (from $GOPATH)
parser/frontmatter.go:22:2: cannot find package "github.com/pelletier/go-toml" in any of:
	/usr/local/go/src/pkg/github.com/pelletier/go-toml (from $GOROOT)
	/Users/mdhender/Software/go/src/github.com/pelletier/go-toml (from $GOPATH)
commands/gendoc.go:24:2: cannot find package "github.com/spf13/cobra/doc" in any of:
	/usr/local/go/src/pkg/github.com/spf13/cobra/doc (from $GOROOT)
	/Users/mdhender/Software/go/src/github.com/spf13/cobra/doc (from $GOPATH)

I thought that I might have messed up the pull, so I tried updating. That gave errors.

lolian:hugo mdhender$ go get -u -v github.com/spf13/hugo
github.com/spf13/hugo (download)
github.com/BurntSushi/toml (download)
...
golang.org/x/text/unicode/norm
# golang.org/x/sys/unix
../../../golang.org/x/sys/unix/asm.s:8 6a: No such file or directory: textflag.h
github.com/spf13/pflag
github.com/russross/blackfriday
# github.com/russross/blackfriday
../../russross/blackfriday/block.go:19: import /Users/mdhender/Software/go/pkg/darwin_amd64/github.com/shurcooL/sanitized_anchor_name.a: object is [darwin amd64 go1.5.1 X:none] expected [darwin amd64 go1.3.2 X:precisestack]
github.com/PuerkitoBio/urlesc
...
github.com/spf13/cobra
# golang.org/x/crypto/ed25519
../../../golang.org/x/crypto/ed25519/ed25519.go:54: undefined: crypto.SignerOpts
golang.org/x/text/runes
golang.org/x/text/unicode/bidi
...
github.com/nicksnyder/go-i18n/i18n/translation
# github.com/eknkc/amber
../../eknkc/amber/compiler.go:21: import /Users/mdhender/Software/go/pkg/darwin_amd64/github.com/eknkc/amber/parser.a: object is [darwin amd64 go1.5.1 X:none] expected [darwin amd64 go1.3.2 X:precisestack]
github.com/yosssi/ace
github.com/gorilla/websocket
# github.com/gorilla/websocket
../../gorilla/websocket/client.go:361: unknown tls.Config field 'GetCertificate' in struct literal
github.com/spf13/hugo/utils
...

And the build failed, which is expected.

lolian:hugo mdhender$ go build -o hugo main.go
# github.com/russross/blackfriday
../../russross/blackfriday/block.go:19: import /Users/mdhender/Software/go/pkg/darwin_amd64/github.com/shurcooL/sanitized_anchor_name.a: object is [darwin amd64 go1.5.1 X:none] expected [darwin amd64 go1.3.2 X:precisestack]
# golang.org/x/crypto/ed25519
../../../golang.org/x/crypto/ed25519/ed25519.go:54: undefined: crypto.SignerOpts
# github.com/eknkc/amber
../../eknkc/amber/compiler.go:21: import /Users/mdhender/Software/go/pkg/darwin_amd64/github.com/eknkc/amber/parser.a: object is [darwin amd64 go1.5.1 X:none] expected [darwin amd64 go1.3.2 X:precisestack]
# github.com/gorilla/websocket
../../gorilla/websocket/client.go:361: unknown tls.Config field 'GetCertificate' in struct literal
# golang.org/x/sys/unix
../../../golang.org/x/sys/unix/asm.s:8 6a: No such file or directory: textflag.h
lolian:hugo mdhender$ 

Is there a better hammer than go get -v -u to start up a build environment for Hugo?

In your case I would try to vipe out the Go pkg build dir:

rm -rf $GOPATH/pkg

You could also try:

go clean

And try again …

Thanks. Got it working…