在Linux执行编译文件(./configure)时出现collect2: fatal error: cannot find 'ld',在此错误之前也会报gcc: error: unrecognized command line option -V以及configure: error: C compiler cannot create executables这类错误。当你发现你的gcc以及相应的依赖包都装好了仍然报错。此时你到/usr/bin/下面寻找是否有ld。which ld找不到,但是你发现在/usr/bin下执行ls -l |grep ld有一个叫ld.gold的文件。
解决:
在/usr/bin/下复制ld.gold(不要删除原始文件)并改名为ld,也可以创建软连接。
重新执行编译
发现问题解决!
简介:
gcc将源码编译为.o,然后linker将.o连接为.so或者可执行程序,linker可以使用ld.bfd、ld.gold或者lld。