我正在阅读有关在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。 我在互联网上搜索了答案,但没有任何帮助。
答案 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