内核编译错误:gcc:错误:elf_i386:没有这样的文件或目录

时间:2012-05-03 05:46:32

标签: gcc linux-kernel

我陷入了将内核版本降级到2.6.22的问题。 错误消息是:

SYSCALL arch / i386 / kernel / vsyscall-int80.so   gcc:错误:elf_i386:没有这样的文件或目录   make [1]: * [arch / i386 / kernel / vsyscall-int80.so]错误1   make:* [arch / i386 / kernel]错误2

我试图谷歌寻求答案,比如降级我的gcc版本等等。但没有任何反应。 我的操作系统是ubuntu 11.04,内核版本为3.1.4。

那有什么不对呢? 谢谢你的回答。

4 个答案:

答案 0 :(得分:22)

你能检查一下vdso makefile,它应该在arch / x86 / vdso / Makefile中。

找到行

 VDSO_LDFLAGS 
x64存在两行,x32位系统存在另一行。

它应该有

 -m elf_x86_64 
而另一个
 -m elf_x86 

分别替换

 -m64 
 -m32

参考错误修复Link1 LockergnomeLink2 ubuntu

答案 1 :(得分:2)

我针对此问题使用了this个答案,并将-m elf_i386部分更改为-m32目录中存储的Makefile中的arch/i386/kernel,并解决了问题,以供将来参考。

答案 2 :(得分:0)

我已经更改了指定的Makefile文件(arch / x86 / vdso / Makefile)并修复了问题。 我的平台是Ubuntu-12.04,Linux 3.13.0-30。

答案 3 :(得分:-4)