[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] xen-unstable compile error in linux-2.6.18-xen_x86_64 and x86
Hi All, Thanks for the patch Yoshi. I got me past my initial error and onto a new one (see below). On 8/3/07, Yoshiaki Tamura <tamura.yoshiaki@xxxxxxxxxxxxx> wrote: > Hi, > > I got the same error when I built changeset 152 of linux-2.6.18-xen.hg on > debian > etch i386 machine. This problem occurred after changeset 130 and 131. > The following patch reverts changeset 130 and changeset 131 manually. > I hope this is useful for someone. > > Thanks, > > Yoshi Tamura > > --- > diff -r 50477b1b3016 -r 670f8d5305d2 arch/i386/Makefile > --- a/arch/i386/Makefile Fri Jul 13 13:35:06 2007 +0100 > +++ b/arch/i386/Makefile Thu Jul 12 16:05:09 2007 +0100 > @@ -116,6 +116,7 @@ PHONY += zImage bzImage compressed zlilo > > ifdef CONFIG_XEN > CPPFLAGS := -Iinclude$(if $(KBUILD_SRC),2)/asm/mach-xen $(CPPFLAGS) > +head-y := arch/i386/kernel/head-xen.o arch/i386/kernel/init_task-xen.o > boot := arch/i386/boot-xen > .PHONY: vmlinuz > all: vmlinuz > diff -r 50477b1b3016 -r 670f8d5305d2 arch/i386/kernel/Makefile > --- a/arch/i386/kernel/Makefile Fri Jul 13 13:35:06 2007 +0100 > +++ b/arch/i386/kernel/Makefile Thu Jul 12 16:05:09 2007 +0100 > @@ -43,7 +43,12 @@ EXTRA_AFLAGS := -traditional > EXTRA_AFLAGS := -traditional > > obj-$(CONFIG_SCx200) += scx200.o > -obj-$(CONFIG_XEN) += fixup.o > + > +ifdef CONFIG_XEN > +vsyscall_note := vsyscall-note-xen.o > +else > +vsyscall_note := vsyscall-note.o > +endif > > # vsyscall.o contains the vsyscall DSO images as __initdata. > # We must build both images before we can assemble it. > @@ -66,7 +71,7 @@ SYSCFLAGS_vsyscall-int80.so = $(vsyscall > > $(obj)/vsyscall-int80.so $(obj)/vsyscall-sysenter.so: \ > $(obj)/vsyscall-%.so: $(src)/vsyscall.lds \ > - $(obj)/vsyscall-%.o $(obj)/vsyscall-note.o FORCE > + $(obj)/vsyscall-%.o $(obj)/$(vsyscall_note) FORCE > $(call if_changed,syscall) > > # We also create a special relocatable object that should mirror the symbol > @@ -78,11 +83,20 @@ extra-y += vsyscall-syms.o > > SYSCFLAGS_vsyscall-syms.o = -r > $(obj)/vsyscall-syms.o: $(src)/vsyscall.lds \ > - $(obj)/vsyscall-sysenter.o $(obj)/vsyscall-note.o > FORCE > + $(obj)/vsyscall-sysenter.o $(obj)/$(vsyscall_note) > FORCE > $(call if_changed,syscall) > > -early_printk-y += ../../x86_64/kernel/early_printk.o > k8-y += ../../x86_64/kernel/k8.o > > -disabled-obj-$(CONFIG_XEN) := i8259.o reboot.o smpboot.o trampoline.o > -%/head.o %/head.s: $(if $(CONFIG_XEN),EXTRA_AFLAGS,dummy) := > +ifdef CONFIG_XEN > +include $(srctree)/scripts/Makefile.xen > + > +obj-y += fixup.o > +microcode-$(subst m,y,$(CONFIG_MICROCODE)) := microcode-xen.o > +n-obj-xen := i8259.o timers/ reboot.o smpboot.o trampoline.o > + > +obj-y := $(call filterxen, $(obj-y), $(n-obj-xen)) > +obj-y := $(call cherrypickxen, $(obj-y)) > +extra-y := $(call cherrypickxen, $(extra-y)) > +%/head-xen.o %/head-xen.s: EXTRA_AFLAGS := > +endif > diff -r 50477b1b3016 -r 670f8d5305d2 arch/i386/kernel/acpi/Makefile > --- a/arch/i386/kernel/acpi/Makefile Fri Jul 13 13:35:06 2007 +0100 > +++ b/arch/i386/kernel/acpi/Makefile Thu Jul 12 16:05:09 2007 +0100 > @@ -6,3 +6,7 @@ obj-y += cstate.o processor.o > obj-y += cstate.o processor.o > endif > > +ifdef CONFIG_XEN > +include $(srctree)/scripts/Makefile.xen > +obj-y := $(call cherrypickxen, $(obj-y), $(src)) > +endif > diff -r 50477b1b3016 -r 670f8d5305d2 arch/i386/kernel/cpu/Makefile > --- a/arch/i386/kernel/cpu/Makefile Fri Jul 13 13:35:06 2007 +0100 > +++ b/arch/i386/kernel/cpu/Makefile Thu Jul 12 16:05:09 2007 +0100 > @@ -18,3 +18,7 @@ obj-$(CONFIG_MTRR) += mtrr/ > obj-$(CONFIG_MTRR) += mtrr/ > obj-$(CONFIG_CPU_FREQ) += cpufreq/ > > +ifdef CONFIG_XEN > +include $(srctree)/scripts/Makefile.xen > +obj-y := $(call cherrypickxen, $(obj-y), $(src)) > +endif > diff -r 50477b1b3016 -r 670f8d5305d2 arch/i386/kernel/cpu/mtrr/Makefile > --- a/arch/i386/kernel/cpu/mtrr/Makefile Fri Jul 13 13:35:06 2007 +0100 > +++ b/arch/i386/kernel/cpu/mtrr/Makefile Thu Jul 12 16:05:09 2007 +0100 > @@ -3,4 +3,10 @@ obj-y += cyrix.o > obj-y += cyrix.o > obj-y += centaur.o > > -obj-$(CONFIG_XEN) := main.o if.o > +ifdef CONFIG_XEN > +include $(srctree)/scripts/Makefile.xen > +n-obj-xen := generic.o state.o amd.o cyrix.o centaur.o > + > +obj-y := $(call filterxen, $(obj-y), $(n-obj-xen)) > +obj-y := $(call cherrypickxen, $(obj-y)) > +endif > diff -r 50477b1b3016 -r 670f8d5305d2 arch/i386/mm/Makefile > --- a/arch/i386/mm/Makefile Fri Jul 13 13:35:06 2007 +0100 > +++ b/arch/i386/mm/Makefile Thu Jul 12 16:05:09 2007 +0100 > @@ -8,4 +8,11 @@ obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpag > obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o > obj-$(CONFIG_HIGHMEM) += highmem.o > obj-$(CONFIG_BOOT_IOREMAP) += boot_ioremap.o > -obj-$(CONFIG_XEN) += hypervisor.o > + > +ifdef CONFIG_XEN > +include $(srctree)/scripts/Makefile.xen > + > +obj-y += hypervisor.o > + > +obj-y := $(call cherrypickxen, $(obj-y)) > +endif > diff -r 50477b1b3016 -r 670f8d5305d2 arch/i386/pci/Makefile > --- a/arch/i386/pci/Makefile Fri Jul 13 13:35:06 2007 +0100 > +++ b/arch/i386/pci/Makefile Thu Jul 12 16:05:09 2007 +0100 > @@ -16,3 +16,8 @@ pci-$(CONFIG_X86_NUMAQ) := numa.o irq.o > pci-$(CONFIG_X86_NUMAQ) := numa.o irq.o > > obj-y += $(pci-y) common.o > + > +ifdef CONFIG_XEN > +include $(srctree)/scripts/Makefile.xen > +obj-y := $(call cherrypickxen, $(obj-y)) > +endif > diff -r 50477b1b3016 -r 670f8d5305d2 arch/x86_64/Makefile > --- a/arch/x86_64/Makefile Fri Jul 13 13:35:06 2007 +0100 > +++ b/arch/x86_64/Makefile Thu Jul 12 16:05:09 2007 +0100 > @@ -80,6 +80,7 @@ PHONY += bzImage bzlilo install archmrpr > > ifdef CONFIG_XEN > CPPFLAGS := -Iinclude$(if $(KBUILD_SRC),2)/asm/mach-xen $(CPPFLAGS) > +head-y := arch/x86_64/kernel/head-xen.o arch/x86_64/kernel/head64-xen.o > arch/x86_64/kernel/init_task.o > LDFLAGS_vmlinux := -e startup_64 > boot := arch/i386/boot-xen > .PHONY: vmlinuz > diff -r 50477b1b3016 -r 670f8d5305d2 arch/x86_64/ia32/Makefile > --- a/arch/x86_64/ia32/Makefile Fri Jul 13 13:35:06 2007 +0100 > +++ b/arch/x86_64/ia32/Makefile Thu Jul 12 16:05:09 2007 +0100 > @@ -37,8 +37,15 @@ AFLAGS_vsyscall-syscall.o = -m32 -Wa,-32 > > ifdef CONFIG_XEN > AFLAGS_vsyscall-int80.o = -m32 -Wa,-32 -Iarch/i386/kernel > -CFLAGS_syscall32.o += -DUSE_INT80 > -AFLAGS_syscall32_syscall.o += -DUSE_INT80 > +CFLAGS_syscall32-xen.o += -DUSE_INT80 > +AFLAGS_syscall32_syscall-xen.o += -DUSE_INT80 > > -$(obj)/syscall32_syscall.o: $(obj)/vsyscall-int80.so > +$(obj)/syscall32_syscall-xen.o: \ > + $(foreach F,int80 sysenter syscall,$(obj)/vsyscall-$F.so) > + > +targets := $(foreach F,int80 sysenter syscall,vsyscall-$F.o vsyscall-$F.so) > + > +include $(srctree)/scripts/Makefile.xen > + > +obj-y := $(call cherrypickxen, $(obj-y)) > endif > diff -r 50477b1b3016 -r 670f8d5305d2 arch/x86_64/kernel/Makefile > --- a/arch/x86_64/kernel/Makefile Fri Jul 13 13:35:06 2007 +0100 > +++ b/arch/x86_64/kernel/Makefile Thu Jul 12 16:05:09 2007 +0100 > @@ -57,8 +57,18 @@ msr-$(subst m,y,$(CONFIG_X86_MSR)) += . > msr-$(subst m,y,$(CONFIG_X86_MSR)) += ../../i386/kernel/msr.o > alternative-y += ../../i386/kernel/alternative.o > > -time-$(CONFIG_XEN) += ../../i386/kernel/time.o > -pci-dma-$(CONFIG_XEN) += ../../i386/kernel/pci-dma.o > +ifdef CONFIG_XEN > +time-y += ../../i386/kernel/time-xen.o > +pci-dma-y += ../../i386/kernel/pci-dma-xen.o > +microcode-$(subst m,y,$(CONFIG_MICROCODE)) := > ../../i386/kernel/microcode-xen.o > +quirks-y := ../../i386/kernel/quirks-xen.o > > -disabled-obj-$(CONFIG_XEN) := i8259.o reboot.o smpboot.o trampoline.o > -%/head.o %/head.s: $(if $(CONFIG_XEN),EXTRA_AFLAGS,dummy) := > +n-obj-xen := i8259.o reboot.o i8237.o smpboot.o trampoline.o > + > +include $(srctree)/scripts/Makefile.xen > + > +obj-y := $(call filterxen, $(obj-y), $(n-obj-xen)) > +obj-y := $(call cherrypickxen, $(obj-y)) > +extra-y := $(call cherrypickxen, $(extra-y)) > +%/head-xen.o %/head-xen.s: EXTRA_AFLAGS := > +endif > diff -r 50477b1b3016 -r 670f8d5305d2 arch/x86_64/mm/Makefile > --- a/arch/x86_64/mm/Makefile Fri Jul 13 13:35:06 2007 +0100 > +++ b/arch/x86_64/mm/Makefile Thu Jul 12 16:05:09 2007 +0100 > @@ -7,8 +7,15 @@ obj-$(CONFIG_NUMA) += numa.o > obj-$(CONFIG_NUMA) += numa.o > obj-$(CONFIG_K8_NUMA) += k8topology.o > obj-$(CONFIG_ACPI_NUMA) += srat.o > -obj-$(CONFIG_XEN) += hypervisor.o > > hugetlbpage-y = ../../i386/mm/hugetlbpage.o > -ioremap-$(CONFIG_XEN) := ../../i386/mm/ioremap.o > -hypervisor-y := ../../i386/mm/hypervisor.o > + > +ifdef CONFIG_XEN > +include $(srctree)/scripts/Makefile.xen > + > +ioremap-y += ../../i386/mm/ioremap-xen.o > +hypervisor-y += ../../i386/mm/hypervisor.o > +obj-y += hypervisor.o > + > +obj-y := $(call cherrypickxen, $(obj-y)) > +endif > diff -r 50477b1b3016 -r 670f8d5305d2 arch/x86_64/pci/Makefile > --- a/arch/x86_64/pci/Makefile Fri Jul 13 13:35:06 2007 +0100 > +++ b/arch/x86_64/pci/Makefile Thu Jul 12 16:05:09 2007 +0100 > @@ -28,3 +28,10 @@ fixup-y += ../../i386/pci/fixup.o > fixup-y += ../../i386/pci/fixup.o > i386-y += ../../i386/pci/i386.o > init-y += ../../i386/pci/init.o > + > +ifdef CONFIG_XEN > +irq-y := ../../i386/pci/irq-xen.o > +include $(srctree)/scripts/Makefile.xen > + > +obj-y := $(call cherrypickxen, $(obj-y)) > +endif > diff -r 50477b1b3016 -r 670f8d5305d2 scripts/Makefile.build > --- a/scripts/Makefile.build Fri Jul 13 13:35:06 2007 +0100 > +++ b/scripts/Makefile.build Thu Jul 12 16:05:09 2007 +0100 > @@ -66,18 +66,6 @@ endif > > ifndef obj > $(warning kbuild: Makefile.build is included improperly) > -endif > - > -ifeq ($(CONFIG_XEN),y) > -$(objtree)/scripts/Makefile.xen: $(srctree)/scripts/Makefile.xen.awk > $(srctree)/scripts/Makefile.build > - @echo ' Updating $@' > - @$(AWK) -f $< $(filter-out $<,$^) >$@ > - > -xen-src-single-used-m := $(patsubst $(srctree)/%,%,$(wildcard $(addprefix > $(srctree)/,$(single-used-m:.o=-xen.c)))) > -xen-single-used-m := $(xen-src-single-used-m:-xen.c=.o) > -single-used-m := $(filter-out $(xen-single-used-m),$(single-used-m)) > - > --include $(objtree)/scripts/Makefile.xen > endif > > # > =========================================================================== > diff -r 50477b1b3016 -r 670f8d5305d2 scripts/Makefile.lib > --- a/scripts/Makefile.lib Fri Jul 13 13:35:06 2007 +0100 > +++ b/scripts/Makefile.lib Thu Jul 12 16:05:09 2007 +0100 > @@ -12,12 +12,6 @@ obj-m := $(filter-out $(obj-y),$(obj-m)) > # Filter out objects already built-in > > lib-y := $(filter-out $(obj-y), $(sort $(lib-y) $(lib-m))) > - > -# Remove objects forcibly disabled > - > -obj-y := $(filter-out $(disabled-obj-y),$(obj-y)) > -obj-m := $(filter-out $(disabled-obj-y),$(obj-m)) > -lib-y := $(filter-out $(disabled-obj-y),$(lib-y)) > > > # Handle objects in subdirs > diff -r 50477b1b3016 -r 670f8d5305d2 scripts/Makefile.xen.awk > --- a/scripts/Makefile.xen.awk Fri Jul 13 13:35:06 2007 +0100 > +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 > @@ -1,34 +0,0 @@ > -BEGIN { > - is_rule = 0 > -} > - > -/^[[:space:]]*#/ { > - next > -} > - > -/^[[:space:]]*$/ { > - if (is_rule) > - print("") > - is_rule = 0 > - next > -} > - > -/:[[:space:]]*%\.[cS][[:space:]]/ { > - line = gensub(/%.([cS])/, "%-xen.\\1", "g", $0) > - line = gensub(/(single-used-m)/, "xen-\\1", "g", line) > - print line > - is_rule = 1 > - next > -} > - > -/^[^\t]$/ { > - if (is_rule) > - print("") > - is_rule = 0 > - next > -} > - > -is_rule { > - print $0 > - next > -} > I just pulled the latest xen and linux unstable and applied the patch above manually, since some of the line numbers had changed. It got rid of the previous error I was having and it compiled the kernel for awhile longer, but it came to a new error: CC net/compat.o CC net/sysctl_net.o LD net/built-in.o CC lib/sort.o CC lib/parser.o CC lib/halfmd4.o CC lib/iomap_copy.o CC lib/debug_locks.o CC lib/kernel_lock.o CC lib/plist.o HOSTCC lib/gen_crc32table GEN lib/crc32table.h CC lib/crc32.o CC lib/iomap.o LD lib/reed_solomon/built-in.o LD lib/zlib_deflate/built-in.o CC lib/zlib_inflate/inffast.o CC lib/zlib_inflate/inflate.o CC lib/zlib_inflate/inftrees.o CC lib/zlib_inflate/inflate_syms.o LD lib/zlib_inflate/zlib_inflate.o LD lib/zlib_inflate/built-in.o CC lib/textsearch.o CC lib/percpu_counter.o CC lib/swiotlb.o /home/deshantm/devel/linux-2.6.18-xen.hg/lib/swiotlb.c:270: error: redefinition of 'address_needs_mapping' /home/deshantm/devel/linux-2.6.18-xen.hg/include/asm-i386/mach-xen/asm/dma-mapping.h:17: error: previous definition of 'address_needs_mapping' was here make[6]: *** [lib/swiotlb.o] Error 1 make[5]: *** [lib] Error 2 make[4]: *** [vmlinuz] Error 2 make[3]: *** [vmlinuz] Error 2 make[3]: Leaving directory `/home/deshantm/devel/xen-unstable.hg/build-linux-2.6.18-xen_x86_64' make[2]: *** [build] Error 2 make[2]: Leaving directory `/home/deshantm/devel/xen-unstable.hg' make[1]: *** [linux-2.6-xen-install] Error 2 make[1]: Leaving directory `/home/deshantm/devel/xen-unstable.hg' I will make mrproper (again) re-build and turn on the V=1 etc. again. And try again, but I don't understand why I can't pull xen unstable directly and have it work... Does anybody do that ever to test that it works? If so, what could I possible be doing wrong? Thanks for any thoughts or ideas I really hope to contribute some code this year and be an active contributor. I just need to get over the initial big learning curve as to even simply building xen unstable, so as to be able to create relevant patches. Best regards, Todd _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |