误替换/usr/bin/ld后编译报错找不到‘ld’,重装binutils无效求助
解决ld被错误替换后的恢复方法
先确认错误文件状态:
执行以下命令查看/usr/bin/ld的类型和属性:ls -l /usr/bin/ld file /usr/bin/ld正常情况下
file输出应为ELF可执行文件,当前会显示为静态库(archive),说明文件已被错误替换。删除错误的ld文件:
sudo rm /usr/bin/ld这是解决问题的关键——之前重装
binutils无效,是因为错误文件存在时,apt默认不会覆盖已修改的文件。重新安装binutils:
sudo apt-get update && sudo apt-get install --reinstall binutils验证恢复效果:
先检查ld是否正常工作:ld --version再编译测试文件验证:
gcc hello.c && ./a.out若能正常编译运行,说明问题已解决。
内容的提问来源于stack exchange,提问作者HENIL SHALIN
相关产品推荐
相关产品推荐

