[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.