我陷入了将内核版本降级到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。
那有什么不对呢? 谢谢你的回答。
答案 0 :(得分:22)
你能检查一下vdso makefile,它应该在arch / x86 / vdso / Makefile中。
找到行
VDSO_LDFLAGSx64存在两行,x32位系统存在另一行。
它应该有
-m elf_x86_64而另一个
-m elf_x86
分别替换
-m64和
-m32。
参考错误修复Link1 Lockergnome和Link2 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)