今天打算把Go升级到1.14.2,升级的方法就两步,

先上Go官方下载页面( https://golang.org/dl/ )下载macos对应的二进制包(1.14.13地址 https://studygolang.com/dl/golang/go1.14.13.linux-amd64.tar.gz )

https://studygolang.com/dl/golang/go1.14.13.linux-amd64.tar.gz

下载好后把压缩包解压到相应的目录:

tar -C /usr/local -xzf go1.14.13.linux-amd64.tar.gz

因为是升级,不是初次安装,之前已经把PATH设置好了,就不用管了。

之后执行以下命令,查看Go版本:

# go version
go version go1.14.13 linux/amd64

看到已经是1.14.13了,美滋滋。

但是用Go编译自己的程序,输出一大段如下错误:

# runtime/internal/atomic
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:18:6: Load redeclared in this blockprevious declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:16:24
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:24:6: Loadp redeclared in this blockprevious declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:22:32
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:30:6: Load64 redeclared in this blockprevious declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:28:26
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:36:6: LoadAcq redeclared in this blockprevious declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:34:27
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:41:6: Xadd redeclared in this blockprevious declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:39:37
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:44:6: Xadd64 redeclared in this blockprevious declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:42:39
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:47:6: Xadduintptr redeclared in this blockprevious declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:45:47
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:50:6: Xchg redeclared in this blockprevious declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:48:36
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:53:6: Xchg64 redeclared in this blockprevious declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:51:38
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:56:6: Xchguintptr redeclared in this blockprevious declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:54:45
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:56:6: too many errors

错误提示中说,atomic中的很多内容都重定义了,打开目录/usr/local/go/src/runtime/internal/atomic/下的atomic_amd64x.go和atomic_amd64.go,发现内容都差不多。

猜想可能新版本的源码文件名变更了,由于我们的新版本是直接解压过去的,导致老版本和新版本的源码文件同时存在。

尝试将/usr/local/go整个删除,再次 tar -C /usr/local -xzf go1.14.13.linux-amd64.tar.gz 安装新版本。

之后用Go编译程序就没有错误了。

上/usr/local/go/src/runtime/internal/atomic目录看,只有atomic_amd64.go文件了,说明猜想正确。问题解决。

总结一下,安装Go时,如果选择安装在老版本目录,最好先把老版本完整删除掉。

升级Go版本后编译出错:Load redeclared in this block相关推荐

  1. Go版本升级后编译出错:Load redeclared in this block

    今天打算把Go由1.11.4升级到1.15.2,升级的方法就两步, 先上Go官方下载页面( https://golang.org/dl/ )下载windows对应的压缩包 下载好后把压缩包解压到相应的 ...

  2. 记一次升级node版本后,运行原vue项目报错问题解决方法

    记一次升级node版本后,运行原vue项目报错问题解决方法 参考文章: (1)记一次升级node版本后,运行原vue项目报错问题解决方法 (2)https://www.cnblogs.com/happ ...

  3. saki4510t的UVCCamera设置匹配android7.1.1 sdk等信息后编译出错

    采用的代码来之于https://github.com/saki4510t/UVCCamera 此工程Sdk等版本信息定义 1.1 minSdkVersion 1.2 targetSdkVersion ...

  4. 微信升级最新版本后,可在一对一聊天场景中访问外部链接

    9月17日消息,据微信发布的消息,近期,工信部对外链管理提出了专项指导意见,微信将落实"以安全为底线"的互联互通,为确保高质量的平台内容和良好的用户体验,整体遵循如下外链开放原则: ...

  5. win 7 系统ie浏览器升级11版本后,f12功能不可用的问题

    自从把ie8升级成11后,f12功能就不可用了.浏览器兼容模式也无法使用. 解决办法:下载windows补丁 IE11-Windows6.1-KB3008923-x64.msu 下载地址: 64位:h ...

  6. flutter升级AS和gradle后编译出错(No signature of method: build_gbqp6.android())错误

    最近升级了AS和Gradle,Flutter SDK 创建一个新的项目后,想把一些配置拷贝过来,弄完之后,发现编译不了,出现类似如下错误: A problem occurred evaluating ...

  7. php 警告方法 不可用,升级PHP版本后警告信息的逐一解决

    最近网站服务器的PHP版本被升级到PHP5.6,某日我无意中发现网站空间使用率大了很多,到后台检查发现erro_log一个文件居然占用了几百M.打开看内容,里面都是PHP的各种警告日志.粗略看了一下主 ...

  8. 升级jdk版本后,出现SecurityException: JCE cannot authenticate the provider BC

    先分析异常的描述: JCE cannot authenticate the provider BC:在使用带签名的jar包时,java会对jar包的签名进行验证,以确认jar包是不是合法的. Secu ...

  9. [乐意黎原创]Win10 升级1909版本后,内存占用率居高不下的解决办法

    前几天, 打开系统更新,win 10 推送了 1909版本, 便更新了使用. 起初没觉得有啥明显的变化,这几天总觉得机子卡的卡的严重,查看了下内存,占用率居高不下. 把打开的进程全杀了,也没有用. 之 ...

最新文章

  1. 不要让海浪中奔腾的豪情任岁月摧折,不要让江风中许下的誓言随流水消逝
  2. [Objective-C语言教程]结构体(17)
  3. java中List<?>是什么意思?
  4. 乘法分配律逆运算是什么意思_聚类,我们先操弄一下Kmeans,看看什么是非监督学习...
  5. 金字塔原理——表达的逻辑
  6. 智慧路灯综合解决方案
  7. html如何制作斜线表头表格,word表格斜线-第六十五式:三种方法教会你,如何在Word中的表格制作斜线表头...
  8. 降噪滤波器的简单使用
  9. 【JZOJ4587】Snow的追寻 题解
  10. Mac免费屏保 Brooklyn 苹果logo
  11. 集五福华为机试python_支付宝集五福,扫一扫用新年送礼好物华为MatePad Pro画的福试试...
  12. 【软件测试】资深测试聊一聊,测试架构师是怎么样的,做一名成功的测试工程师......
  13. 【Android studio】使用雷电模拟器详细过程(或其他)(转)
  14. 射雕英雄传人物关系python_《射雕英雄传》人物关系图
  15. SQL*Net message to client
  16. 直播系统定制开发中安卓直播间websocket协议破解还原
  17. MySQL_15_MySQL底层SQL查询成本计算
  18. 关于C语言中的重点转义字符详解
  19. php 403 -禁止访问 访问被拒绝,HTTP 错误 403.6 - Forbidden 访问IP地址被拒绝
  20. 采集google搜索引擎的10个经典方法

热门文章

  1. 华为手机备忘录有个神奇按钮,按下就能语音转文字,实用又便捷
  2. MOS管为什么容易被静电击穿
  3. SpringCloud Alibaba 实战之《负载均衡:Ribbon 如何保证微服务的高可用》
  4. 基于ssm健身俱乐部网站
  5. 什么是反向代理,反向代理是如何工作的?
  6. 电力运维云平台在配电室的研究及应用
  7. Eclipse中创建第一个窗口程序
  8. ncurses 方向键响应
  9. 考研英语复习计划 备战2015年考研英语全程计划
  10. PHP:GD库 生成验证码图片