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-users] Re: [Xen-devel] need to compile 32bit on x86_64 cpu

To: "Anand Gupta" <xen.mails@xxxxxxxxx>, "Xen Users" <Xen-users@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-users] Re: [Xen-devel] need to compile 32bit on x86_64 cpu
From: "Petersson, Mats" <Mats.Petersson@xxxxxxx>
Date: Thu, 22 Jun 2006 19:02:36 +0200
Cc: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>, Harry Butterworth <harry@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 22 Jun 2006 10:04:57 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <acb757c00606220957g7b9e4b25vff8f11d2b1fb93cb@xxxxxxxxxxxxxx>
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcaWHWo2CfZFUqX0SzCiD/bZfvQ+sQAABdUg
Thread-topic: [Xen-users] Re: [Xen-devel] need to compile 32bit on x86_64 cpu
You need to clean the linux kernel directory (probably with "mrproper" note: mrproper will remove your .config file too, so copy that if you have made any changes...)
 
--
Mats


From: xen-users-bounces@xxxxxxxxxxxxxxxxxxx [mailto:xen-users-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Anand Gupta
Sent: 22 June 2006 17:58
To: Xen Users
Cc: Keir Fraser; Harry Butterworth; xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-users] Re: [Xen-devel] need to compile 32bit on x86_64 cpu

Reading the README i found a way to do this

export XEN_TARGET_ARCH=i386

or

export XEN_TARGET_ARCH=x86_32

Then do

make linux-2.6-xen-config CONFIGMODE=menuconfig

Now menuconfig shows the 32bit cpu's. However when i run the build command, it fails badly giving the following errors:

make -f buildconfigs/mk.linux-2.6-xen build
make[1]: Entering directory `/home/xen/xen-3.0.2-2'
if grep "^CONFIG_MODULES=" linux-2.6.16-xen/.config ; then \
    make -C linux-2.6.16-xen ARCH=i386 modules ; \
    make -C linux-2.6.16-xen ARCH=i386 INSTALL_MOD_PATH=/home/xen/xen-3.0.2-2/dist/install modules_install ; \
fi
CONFIG_MODULES=y
make[2]: Entering directory `/home/xen/xen-3.0.2-2/linux-2.6.16-xen'
  CHK     include/linux/version.h
  CC      arch/i386/kernel/asm-offsets.s
In file included from include/linux/thread_info.h:20,
                 from include/linux/preempt.h:10,
                 from include/linux/spinlock.h:50,
                 from include/linux/capability.h:45,
                 from include/linux/sched.h:7,
                 from arch/i386/kernel/asm-offsets.c:7:
include/linux/bitops.h: In function `generic_hweight64':
include/linux/bitops.h:142: warning: integer constant is too large for "unsigned long" type
include/linux/bitops.h:142: warning: integer constant is too large for "unsigned long" type
include/linux/bitops.h:143: warning: integer constant is too large for "unsigned long" type
include/linux/bitops.h:143: warning: integer constant is too large for "unsigned long" type
include/linux/bitops.h:144: warning: integer constant is too large for "unsigned long" type
include/linux/bitops.h:144: warning: integer constant is too large for "unsigned long" type
include/linux/bitops.h:145: warning: integer constant is too large for "unsigned long" type
include/linux/bitops.h:145: warning: integer constant is too large for "unsigned long" type
include/linux/bitops.h:146: warning: integer constant is too large for "unsigned long" type
include/linux/bitops.h:146: warning: integer constant is too large for "unsigned long" type
In file included from include/linux/timex.h:61,
                 from include/linux/sched.h:11,
                 from arch/i386/kernel/asm-offsets.c:7:
include/asm/timex.h: In function `get_cycles':
include/asm/timex.h:25: warning: left shift count >= width of type
include/asm/timex.h: In function `get_cycles_sync':
include/asm/timex.h:38: warning: left shift count >= width of type
In file included from include/asm/semaphore.h:43,
                 from include/linux/sched.h:20,
                 from arch/i386/kernel/asm-offsets.c:7:
include/linux/rwsem.h:27:65: asm/rwsem.h: No such file or directory
In file included from include/asm/semaphore.h:43,
                 from include/linux/sched.h:20,
                 from arch/i386/kernel/asm-offsets.c:7:
include/linux/rwsem.h: In function `down_read':
include/linux/rwsem.h:45: warning: implicit declaration of function `__down_read'
include/linux/rwsem.h: In function `down_read_trylock':
include/linux/rwsem.h:56: warning: implicit declaration of function `__down_read_trylock'
include/linux/rwsem.h: In function `down_write':
include/linux/rwsem.h:68: warning: implicit declaration of function `__down_write'
include/linux/rwsem.h: In function `down_write_trylock':
include/linux/rwsem.h:79: warning: implicit declaration of function `__down_write_trylock'
include/linux/rwsem.h: In function `up_read':
include/linux/rwsem.h:90: warning: implicit declaration of function `__up_read'
include/linux/rwsem.h: In function `up_write':
include/linux/rwsem.h:100: warning: implicit declaration of function `__up_write'
include/linux/rwsem.h: In function `downgrade_write':
include/linux/rwsem.h:110: warning: implicit declaration of function `__downgrade_write'
In file included from arch/i386/kernel/asm-offsets.c:7:
include/linux/sched.h: At top level:
include/linux/sched.h:309: error: field `mmap_sem' has incomplete type
In file included from include/asm/suspend.h:6,
                 from include/linux/suspend.h:5,
                 from arch/i386/kernel/asm-offsets.c:10:
include/asm/desc.h: In function `_set_gate':
include/asm/desc.h:97: warning: right shift count >= width of type
include/asm/desc.h: In function `set_tssldt_descriptor':
include/asm/desc.h:137: warning: right shift count >= width of type
include/asm/desc.h: In function `set_seg_base':
include/asm/desc.h:164: warning: cast from pointer to integer of different size
include/asm/desc.h:165: warning: cast from pointer to integer of different size
arch/i386/kernel/asm-offsets.c: In function `foo':
arch/i386/kernel/asm-offsets.c:28: error: structure has no member named `eax'
arch/i386/kernel/asm-offsets.c:29: error: structure has no member named `ebx'
arch/i386/kernel/asm-offsets.c:30: error: structure has no member named `ecx'
arch/i386/kernel/asm-offsets.c:31: error: structure has no member named `edx'
arch/i386/kernel/asm-offsets.c:32: error: structure has no member named `esi'
arch/i386/kernel/asm-offsets.c:33: error: structure has no member named `edi'
arch/i386/kernel/asm-offsets.c:34: error: structure has no member named `ebp'
arch/i386/kernel/asm-offsets.c:35: error: structure has no member named `esp'
arch/i386/kernel/asm-offsets.c:36: error: structure has no member named `eip'
arch/i386/kernel/asm-offsets.c:43: error: structure has no member named `hard_math'
arch/i386/kernel/asm-offsets.c:69: error: structure has no member named `esp0'
arch/i386/kernel/asm-offsets.c:74: error: `VSYSCALL_BASE' undeclared (first use in this function)
arch/i386/kernel/asm-offsets.c:74: error: (Each undeclared identifier is reported only once
arch/i386/kernel/asm-offsets.c:74: error: for each function it appears in.)
make[3]: *** [arch/i386/kernel/asm-offsets.s] Error 1
make[2]: *** [prepare0] Error 2
make[2]: Leaving directory `/home/xen/xen-3.0.2-2 /linux-2.6.16-xen'
make[2]: Entering directory `/home/xen/xen-3.0.2-2/linux-2.6.16-xen'
if [ -r System.map -a -x /sbin/depmod ]; then /sbin/depmod -ae -F System.map -b /home/xen/xen-3.0.2-2/dist/install -r 2.6.16-xenx86_32 ; fi
make[2]: Leaving directory `/home/xen/xen-3.0.2-2/linux-2.6.16-xen'
make -C linux-2.6.16-xen ARCH=i386 INSTALL_PATH=/home/xen/xen-3.0.2-2/dist/install vmlinuz
make[2]: Entering directory `/home/xen/xen-3.0.2-2 /linux-2.6.16-xen'
make[2]: Nothing to be done for `vmlinuz'.
make[2]: Leaving directory `/home/xen/xen-3.0.2-2/linux-2.6.16-xen'
make -C linux-2.6.16-xen ARCH=i386 INSTALL_PATH=/home/xen/xen-3.0.2-2/dist/install install
make[2]: Entering directory `/home/xen/xen-3.0.2-2/linux-2.6.16-xen'
sh /home/xen/xen-3.0.2-2/linux-2.6.16-xen/arch/i386/boot/install.sh 2.6.16-xenx86_32 arch/i386/boot/bzImage System.map "/home/xen/xen-3.0.2-2 /dist/install"

 *** Missing file: arch/i386/boot/bzImage
 *** You need to run "make" before "make install".

make[3]: *** [install] Error 1
make[2]: *** [install] Error 2
make[2]: Leaving directory `/home/xen/xen- 3.0.2-2/linux-2.6.16-xen'
make[1]: *** [build] Error 2
make[1]: Leaving directory `/home/xen/xen-3.0.2-2'
make: *** [linux-2.6-xen-install] Error 2

My guess is that its complaining about some libraries for 32bit and since the os is 64bit, they are not present.

Can anyone please shed more light on this ?

Thanks.

--
regards,

Anand Gupta
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users