Gcc collect2:致命错误:找不到'ld'

时间:2016-03-13 13:28:41

标签: c gcc cross-compiling ubuntu-15.10

我正在阅读有关在http://wiki.osdev.org/Bare_Bones上制作操作系统的教程。当我尝试使用以下命令链接boot.o和kernel.o时: i686-elf-gcc -T linker.ld -o myos.bin -ffreestanding -O2 -nostdlib boot.o kernel.o -lgcc ,我刚收到这个错误:

collect2: fatal error: cannot find 'ld'
compilation terminated.

我刚刚使用 gcc-5.2.1 binutils-2.25.1 安装了新的Ubuntu 15.10。 我在互联网上搜索了答案,但没有任何帮助。

2 个答案:

答案 0 :(得分:0)

我在攻击远程计算机并尝试使用gcc在受害计算机上编译漏洞时遇到此错误。

我只是将程序ld复制到/tmp/,这是我通过运行编译我的漏洞exploit.c的工作目录 cp /usr/bin/ld /tmp/ld 然后是原始的gcc编译命令,编译工作。

答案 1 :(得分:0)

在尝试在受害服务器上编译漏洞时,我在一次渗透中也遇到了一次相同的错误。

对于我来说,“ ld”程序所在的目录尚未在PATH环境变量中定义,因此我只添加了它。

例如export PATH=$PATH:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin