https://blog.youkuaiyun.com/jimmyleeee/article/details/103454664/
问题:
编译程序时出现错误:
/usr/bin/ld.gold: --push-state: unknown option
编译一个工具时,编译都正常通过,但是,却在链接时发生如下错误:
执行:ld.gold --help, 确实没有发现 --push-state 选项。
执行ld.gold -v 显示版本信息如下:
解决步骤:
由于gold链接是binutils的一部分,所以先从 Index of /gnu/binutils 下载一个最新的版本,我下载的是2.33.1,
解压之后,执行命令:
-
./configure --prefix=/usr --enable-gold
-
make
-
sudo make install
安装新版本的binutils。
安装完成之后,再执行ld.gold -v,显示已经升级到新版本了。
再执行 ld.gold --help,终于看到了 --push-state 选项。
再次链接程序,成功!