Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
whqwjb
go-ethereum
提交
2fe07c20
G
go-ethereum
项目概览
whqwjb
/
go-ethereum
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
go-ethereum
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2fe07c20
编写于
1月 02, 2018
作者:
P
Péter Szilágyi
提交者:
Felix Lange
1月 02, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
build: fix version comparison for go1.10 and beyond (#15781)
上级
6882943e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
15 addition
and
6 deletion
+15
-6
build/ci.go
build/ci.go
+15
-6
未找到文件。
build/ci.go
浏览文件 @
2fe07c20
...
...
@@ -179,11 +179,17 @@ func doInstall(cmdline []string) {
// Check Go version. People regularly open issues about compilation
// failure with outdated Go. This should save them the trouble.
if
runtime
.
Version
()
<
"go1.7"
&&
!
strings
.
Contains
(
runtime
.
Version
(),
"devel"
)
{
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
)
if
!
strings
.
Contains
(
runtime
.
Version
(),
"devel"
)
{
// Figure out the minor version number since we can't textually compare (1.10 < 1.7)
var
minor
int
fmt
.
Sscanf
(
strings
.
TrimPrefix
(
runtime
.
Version
(),
"go1."
),
"%d"
,
&
minor
)
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.
packages
:=
[]
string
{
"./..."
}
...
...
@@ -257,7 +263,10 @@ func goToolArch(arch string, subcmd string, args ...string) *exec.Cmd {
if
subcmd
==
"build"
||
subcmd
==
"install"
||
subcmd
==
"test"
{
// Go CGO has a Windows linker error prior to 1.8 (https://github.com/golang/go/issues/8756).
// Work around issue by allowing multiple definitions for <1.8 builds.
if
runtime
.
GOOS
==
"windows"
&&
runtime
.
Version
()
<
"go1.8"
{
var
minor
int
fmt
.
Sscanf
(
strings
.
TrimPrefix
(
runtime
.
Version
(),
"go1."
),
"%d"
,
&
minor
)
if
runtime
.
GOOS
==
"windows"
&&
minor
<
8
{
cmd
.
Args
=
append
(
cmd
.
Args
,
[]
string
{
"-ldflags"
,
"-extldflags -Wl,--allow-multiple-definition"
}
...
)
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录