Go编译报错 link: running gcc failed: exit status 1(已解决)

这篇具有很好参考价值的文章主要介绍了Go编译报错 link: running gcc failed: exit status 1(已解决)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景  

在对一个开源的Go程序二次开发 重新编译时 ,

报错截图如下

Go编译报错 link: running gcc failed: exit status 1(已解决),报错,golang,linux,开发语言

报错文字如下:关键信息 link: running gcc failed: exit status 1

$ go build -o orchestrator-didi -i go/cmd/orchestrator/main.go
go build: -i flag is deprecated
# command-line-arguments
/data/scripts/go/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
/bin/ld: /tmp/go-link-650714850/000024.o: unrecognized relocation (0x2a) in section `.text'
/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status

查看了Go的GitHub上的issue

记录该问题 

https://github.com/golang/go/issues/43996

问题原因 :

编译器或链接器版本可能不兼容或过时

我的原因可能是因为没有安装glibc-static 这个包

自己解决 

yum install gcc

yum install glibc-static

yum install binutils

这两个包解释

glibc-static 是一个包含 GNU C 库(glibc)的静态链接版本的软件包。GNU C 库是 Linux 系统中最基本的 C 库之一,它提供了许多标准 C 库函数的实现,如内存分配、字符串操作、文件操作等。

静态链接版本的 glibc 允许开发者将库的代码和数据嵌入到他们的可执行文件中,这意味着在运行时不需要依赖系统上已安装的动态链接版本的 glibc。这对于构建独立的可执行文件或者在某些情况下确保程序的兼容性和可移植性非常有用。

通常情况下,glibc-static 包含了静态链接版本的 libc.a 等库文件,您可以在编译时链接到您的程序中。

binutils 是一组工具,用于处理可执行文件、目标文件和库。这些工具包括链接器(ld)、汇编器(as)、目标文件复制工具(objcopy)、符号表工具(nm)等。binutils 可以在构建软件时执行许多任务,如链接不同的目标文件以创建可执行文件、将可执行文件拆分成独立的目标文件等。

gcc 是 GNU Compiler Collection 的缩写,它是一套包括编译器在内的工具集,用于编译和链接程序。gcc 最常用于编译 C 和 C++ 程序,但它也支持其他编程语言,如 Fortran、Objective-C、Ada 等。

gcc 提供了一系列命令行选项,用于控制编译器的行为,例如指定输出文件名、优化级别、预处理器定义等。它还包含了多个编译器前端和后端,以支持不同的源语言和目标平台。

重新编译成功

参考 

Go编译 报错 link: running gcc failed: exit status 1_c:\program files (x86)\go\pkg\tool\windows_386\lin-CSDN博客文章来源地址https://www.toymoban.com/news/detail-838800.html

到了这里,关于Go编译报错 link: running gcc failed: exit status 1(已解决)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android13 编译ninja failed with: exit status 137

    现象很奇怪,主机是ubuntu 18.04, 内存有32G,并且系统中有两份Android13代码, 有一份编译正常,另外一份编译不正常,一度以为是因为下载源码不齐全导致,后面仔细看日志,原来是内存不够,导致OOM-killer杀死了。 分析: 当前界面没有太多可以参考的出错信息,看日志: 

    2024年02月22日
    浏览(49)
  • iOS 编译报错:Xcode Command PhaseScriptExecution failed with a nonzero exit code 解决方案

    iOS 报错“ Xcode Command PhaseScriptExecution failed with a nonzero exit code ” 解决方案 问题:xcode版本差异造成的不兼容。低版本xcode不兼容高版本xcode。 解决方案1: 在Xcode菜单栏选择File - Workspace Setting - Build System 选择Legacy Build System 重新运行 解决方案2: 将低版本xcode升级为最新版本,

    2024年02月13日
    浏览(42)
  • python入门:cl.exe‘ failed with exit status 2错误通用解决方案

    如标题所示的错误想必使用python的人都不陌生,但该问题的产生有多种情况,由于安装不同软件导致不同的后续错误,网络上的回答也是五花八门,因此这里有必要将这个简单问题写一篇文章。 error: Microsoft Visual C++ 14.0 or greater is required. Get it with \\\"Microsoft C++ Build Tools\\\": https:

    2024年02月13日
    浏览(44)
  • error: command '/usr/bin/gcc' failed with exit code 1 问题解决

    linux环境, python3.7.  问题描述:       安装rally, pip3 install -r requirements.txt 时提示如下: 说明openssl 已安装。 解决: 1. pip3 install --upgrade pip , 结果输出如下 上图提示的包未安装。。 2. 安装上体提示未安装的安装包 yum install paramiko PrettyTable pyOpenSSL python-subunit virtualenv 3.再次

    2024年02月15日
    浏览(48)
  • Jenkins构建后通过SSH发包报错exception message [Exec exit status not zero. Status [127]]解决方法

    问题描述  jenkins配置好项目后,使用Publish over SSH插件推送到服务器指定目录的时候报错。 Console Output报错信息:ERROR: Exception when publishing, exception message [Exec exit status not zero. Status 原因分析 [127]代表的意思是没有找到执行文件的目录,那么把执行文件配对了就能解决。 解决办

    2024年02月06日
    浏览(48)
  • 使用ssh通过jenkins部署发包报错exception message [Exec exit status not zero. Status [127]]解决方法

    问题 : 在jenkins上打的jar包部署到远程服务器上,会看到连接成功后仍然报错127,   解决方案 : [127]代表的意思是没有找到执行文件的目录,那么把执行文件配对了就能解决 1. 检查jenkins系统配置的sshserver路径Remote Directory是否正确 2. 检查构建步骤中Send files or execute commands

    2024年02月16日
    浏览(40)
  • rush update运行报错:Running postinstall script, failed in ;Packages are hard linked from the content-add

    目录 一、问题  二、原因 三、解决方法 四、总结 1.运行rush update报错:很是奇怪呀,别人都可以,我新拉的项目就是会报错。 Packages are hard linked from the content-addressable store to the virtual store.   Content-addressable store is at: D:comen-web-3commontemppnpm-storev3  node_modules/.pnpm/electron@18.

    2024年02月16日
    浏览(47)
  • Python3 安装软件出现 cl.exe failed with exit status 2 错误

    最近因项目需要,开始深入接触python。遇到的一些环境问题,分享下。 requirements.txt中包含一系列所需组件,部分组件安装会报cl.ext错误。 如错误问题:Python3 安装pycrypto 2.6.1 出现 cl.exe failed with exit status 2 错误 或者错误问题:Microsoft Visual C++ 14.0 or greater is required. Get it with

    2024年02月03日
    浏览(84)
  • idea编译thingsboard报错yarn (yarn install) on project ui-ngx: Failed to run task: ‘yarn install‘ failed.

    编译thingsboard源码,在编译ui-ngx模块时编译失败 报错信息如下: 可能是版本不匹配或者依赖问题 检查ui-ngx 下pom的nodejs和yarn版本,确保本地环境版本号与配置一致。 如果上述问题排除,在ui-ngx目录下起一个命令行 运行yarn install命令,如果没有问题,则删除maven repository后找个

    2024年02月11日
    浏览(44)
  • Nginx报错显示 Active: failed(Result: exit-code)的解决方法

    输入sudo systemctl status nginx用来查看服务器状态时显示如下代码 出现这种问题可能是您的 80/443 端口被占用,所以无法启动 那么可以输入以下两条命令来解决 使用这两条命令把占用 80/443 端口的进度删掉 然后重启Nginx 再次输入sudo systemctl status nginx 如上图显示即为正确

    2024年01月18日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包