Reputation: 8610
I am trying to compile Linux kernel source 2.6.38.4 on my Ubuntu machine but after almost one hour of process getting below given error
VDSOSYM arch/x86/vdso/vdso32-int80-syms.lds
VDSOSYM arch/x86/vdso/vdso32-sysenter-syms.lds
VDSOSYM arch/x86/vdso/vdso32-syms.lds
LD arch/x86/vdso/built-in.o
LD arch/x86/built-in.o
LD vmlinux.o
MODPOST vmlinux.o
WARNING: modpost: Found 7 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
GEN .version
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
arch/x86/built-in.o: In function `xen_hvm_post_suspend':
/home/amit/Linux_Kernel_Study/linux-2.6.38.4/arch/x86/xen/suspend.c:34: undefined reference to `xen_unplug_emulated_devices'
make: *** [.tmp_vmlinux1] Error 1
I tried to look it on to google but could not find much clue there,Can anybody let me know what should I do to resolve this issue.
Upvotes: 0
Views: 1877
Reputation: 175
This is a linker error. The function xen_hvm_post_suspend calls xen_unplug_emulated_devices but the linker does not find it in an object file.
Try to find out where this functions are defined, maybe your config does not include all the options necessary. If possible use 2.6.38.8 kernel, maybe the bug is fixed there. Anyway why don't you use a newer kernel version?
Upvotes: 0
Reputation: 3892
One hour to compile the kernel is strange (Or you are compiling on old hardware). Try to use the -j option while compiling:
make -j8
It runs multiple processes to compile your sources.
Back to your question. Probably you are missing something in your kernel configuration. Use make xconfig and look for xen options. If you do not need Xen, just remove all xen-things from configuration (this will also save time during compilation)
Upvotes: 1