build: fix version comparison for Go 1.10+

This commit is contained in:
Péter Szilágyi 2017-12-30 20:12:34 +02:00
parent b9731767af
commit 0f8a25b967
No known key found for this signature in database
GPG key ID: E9AE538CEDF8293D

View file

@ -179,11 +179,17 @@ func doInstall(cmdline []string) {
// Check Go version. People regularly open issues about compilation // Check Go version. People regularly open issues about compilation
// failure with outdated Go. This should save them the trouble. // failure with outdated Go. This should save them the trouble.
if runtime.Version() < "go1.7" && !strings.Contains(runtime.Version(), "devel") { if !strings.Contains(runtime.Version(), "devel") {
log.Println("You have Go version", runtime.Version()) // Figure out the minor version number since we can't textually compare (1.10 < 1.7)
log.Println("go-ethereum requires at least Go version 1.7 and cannot") var minor int
log.Println("be compiled with an earlier version. Please upgrade your Go installation.") fmt.Sscanf(strings.TrimPrefix(runtime.Version(), "go1."), "%d", &minor)
os.Exit(1)
if minor < 7 {
log.Println("You have Go version", runtime.Version())
log.Println("go-ethereum requires at least Go version 1.7 and cannot")
log.Println("be compiled with an earlier version. Please upgrade your Go installation.")
os.Exit(1)
}
} }
// Compile packages given as arguments, or everything if there are no arguments. // Compile packages given as arguments, or everything if there are no arguments.
packages := []string{"./..."} packages := []string{"./..."}