2012-05-03 44 views
6

我一直在将我的内核版本降级到2.6.22。 错误消息是:内核编译错误:gcc:error:elf_i386:没有这样的文件或目录

SYSCALL拱/ I386 /内核/ vsyscall-int80.so GCC:错误:elf_i386:没有这样的文件或目录 化妆[1]:* [拱/ I386 /内核/ vsyscall -int80.so]错误1 make:* [arch/i386/kernel]错误2

我试过谷歌的答案,像降级我的gcc版本等,但没有任何反应。 我的操作系统是Ubuntu 11.04,内核版本为3.1.4。

那有什么问题呢? 感谢您的回答。

+0

为什么要降级? – kuba

回答

22

你可以检查应该在arch/x86/vdso/Makefile中的vdso makefile。

找到行

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

它应该有

 -m elf_x86_64
和另外一个
 -m elf_x86

分别代替他们像

 -m64
 -m32

参考bug修复Link1 LockergnomeLink2 ubuntu

+0

虽然您的答案可能会解决其他人的问题,但它并未解决此问题,因为在@KMHook指示问题系统调用发生在文件“arch/i386/kernel/vsyscall-int80.so”中,但您建议改变'arch/x86 /'目录中的一些行。 – ecem

2

我用this回答这个问题,并储存在arch/i386/kernel目录Makefile改变了-m elf_i386部分-m32错误,它解决了这个问题,供将来参考。

0

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

相关问题