WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] xen-unstable compile error in linux-2.6.18-xen_x86_64 an

To: "Yoshiaki Tamura" <tamura.yoshiaki@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] xen-unstable compile error in linux-2.6.18-xen_x86_64 and x86
From: "Todd Deshane" <deshantm@xxxxxxxxx>
Date: Fri, 14 Sep 2007 11:59:39 -0400
Cc: moriai@xxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Fri, 14 Sep 2007 09:00:19 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=ZvircqHJ1R/L9NEHMPa40lpM1yuBKzhH+sgyGTv/s2s=; b=oopV9clirXM4n6jW4J58cjes8dMK+Eg5NrGCbuU+cX0nS+CZEXwMFXqti5nbEO9cKvj8gELpc/dn5KVTNwY51u2zF7pOKeVI7Obp2bBSLR/LpkWKtPOLuCcmyZ1RdXwvQpBzgMPX+auZl4lxyx6hKBCUwbYucgsYKXlzd+aSAhY=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=Y8jRInr02E0YLjzB1rFLoNZf9+fALrxL17AV2VWFrKayY9hjXCcRZ0lCIH1VWwVOwve6mOMHijyZOhzAYKoFs1P4pdBvstAzEQ/CjfGttHdtUw2TFOVrstcKyjHBevrQFbIpbZ361IcuRnAwxTyvJanESi6+XPYXVb/QpPkGIXk=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <46B3027F.6040802@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <1e16a9ed0707281332v3add91bhaa689d5c71b33b49@xxxxxxxxxxxxxx> <C2D1FD8F.B9C7%Keir.Fraser@xxxxxxxxxxxx> <1e16a9ed0707301616g3d44fd59g83b1198a27e8c3a7@xxxxxxxxxxxxxx> <46B3027F.6040802@xxxxxxxxxxxxx>
Reply-to: deshantm@xxxxxxxxx
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
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

<Prev in Thread] Current Thread [Next in Thread>
  • Re: [Xen-devel] xen-unstable compile error in linux-2.6.18-xen_x86_64 and x86, Todd Deshane <=