乐趣区

关于generator:安装snmp-generator遇到usrbinld-final-link-failed问题

在 github 下载代码后 做 go build 呈现报错

/usr/bin/ld: xxx : unrecognized relocation (0x2a) in section `.text`
/usr/bin/ld: final link failed: 谬误的值 

# 查看旧版本
[root@prometheus-primary1 generator]# ld -v
# 以我的为例,以后零碎中 ld 的版本为
GNU ld version 2.25.1-31.base.el7

ld 工具的版本后, 起因是版本较低

  • 更新成 2.26.1 版本
[root@prometheus-primary1 generator]# wget http://ftp.gnu.org/gnu/binutils/binutils-2.26.1.tar.gz

# 解压
[root@prometheus-primary1 generator]# tar -xf binutils-2.26.1.tar.gz 


[root@prometheus-primary1 generator]# cd ./binutils-2.26.1

# 通过 configure 生成 makefile 文件,以及设置 make install 时的装置门路
[root@prometheus-primary1 generator]# ./configure --prefix=/home/binutils-2.26.1/build

# 编译
[root@prometheus-primary1 generator]# make -j

# 编译生成文件
[root@prometheus-primary1 generator]# make install

# 配置零碎环境变量
[root@prometheus-primary1 generator]# vim /etc/profile 追加 export PATH=... 也能够 
# 这样能够确保机器重启后,导入的环境变量不会被重置
echo  "export PATH=/home/binutils-2.26.1/build/bin:$PATH" >> /etc/profile.d/localld.sh
source /etc/profile.d/localld.sh

# test
[root@prometheus-primary1 generator]# ld -v
GNU ld (GNU Binutils) 2.26.1
  • 而后持续测试 go build && make mibs

退出移动版