在linux内核编译过程中,可能会遇到有些文件没有的可能,下面是我用gcc4.6.2编译linux2.6.30.5内核过程中提示的错误:
gcc: error: elf_i386: No such file or directory
OBJCOPY arch/x86/vdso/vdso32-int80.so
objcopy: 'arch/x86/vdso/vdso32-int80.so.dbg': No such file
make[2]: *** [arch/x86/vdso/vdso32-int80.so] Error 1
make[1]: *** [arch/x86/vdso] Error 2
make: *** [arch/x86] Error 2这个问题的原因是因为gcc 4.6不支持原因是 gcc 4.6 不再支持 linker-style 架构。讲 arch/x86/vdso/Makefile 中, 将以 VDSO_LDFLAGS_vdso.lds 开头所在行的 "-m elf_x86_64" 替换为 "-m64"。 将以 VDSO_LDFLAGS_vdso32.lds 开头所在行的 "-m elf_x86" 替换为 "-m32"。
本文介绍使用GCC4.6.2编译Linux2.6.30.5内核时遇到的错误及解决方案。主要错误包括找不到特定文件和链接样式架构不支持的问题。通过修改Makefile中的编译标志可以解决这些问题。
2166

被折叠的 条评论
为什么被折叠?



