[ERR] collect2: fatal error: cannot find 'ld'

发布时间 2023-04-30 11:46:39作者: oPluss

今天在orin nano上希望g++使用lld代替ld时候,在如下命令时候抛出了如标题的错误

>> g++ -fuse-ld=lld a.cc
collect2: fatal error: cannot find 'ld'
compilation terminated.

因为最开始配置llvm-15环境时候我有将lld-15软连接为lld,所以使用lld是可以正确执行的,但是看起来g++并不会直接使用lld命令,为此我查看了下ld命令的路径

>> whereis ld
ld: /usr/bin/ld.bfd /usr/bin/ld.gold /usr/bin/ld.lld-15 /usr/bin/ld64.lld-15 /usr/bin/ld

其中的ld.lld-15引起了我的注意,看起来对于fuse-ld=<arg>命令可能底层调用的是ld.<arg>,为此我建立了ld.lld-15ld.lld的软连接

>> cd /usr/bin/
>> sudo ln -s ld.lld-15 ld.lld

看起来这个错误就解决了