博客 / 詳情

返回

安裝snmp generator遇到/usr/bin/ld: 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

image.png

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.