Hi Yashwardhan,

I presume you are attempting to use the instructions in the README.md file in the kernel. These instructions are, unfortunately, out of date and are only properly supported for building the verified kernel, this is the 'ARCH=arm PLAT=imx31 ARMV=armv6 CPU=arm1136jf-s' choice. For other architectures and platforms, including ia32, the Makefile relies on configuration being passed to it from the external build system.
You could resolve your present compilation difficulties by doing
$> make ARCH=ia32 PLAT=pc99 CONFIG_KERNEL_EXTRA_CPPFLAGS="-DCONFIG_IRQ_PIC=y -DCONFIG_MAX_NUM_IOAPIC=1"
But since you are building on a 64bit system, and most likely using a 64bit toolchain, you will probably get errors such as
/usr/bin/ld: i386 architecture of input file `src/arch/ia32/machine_asm.o' is incompatible with i386:x86-64 output
This happens as the kernels Makefile is relying on the -m32 flag (as well as many others) being passed to it.
While you could determine all the relevant compilation flags and pass them in manually, I can only recommend compiling the kernel for ia32 in the presence of one of our released projects and the accompanying build system.

Adrian

On 28/10/14 20:47, Yashwardhan Singh wrote:
Hi

I downloaded the latest repository of seL4 from GitHub. When I am trying to build the kernel using make  for ia32 architecture and pc99 platform I am getting this error :

yashward@macaroni-09:~/cs736-proj/seL4$ make ARCH=ia32 PLAT=pc99
 [CC] kernel_final.s
src/arch/ia32/kernel/boot_sys.c:75:26: error: ‘CONFIG_MAX_NUM_IOAPIC’ undeclared here (not in a function)
     paddr_t      ioapic_paddr[CONFIG_MAX_NUM_IOAPIC];
                          ^
src/plat/pc99/machine/hardware.c: In function ‘maskInterrupt’:
src/plat/pc99/machine/hardware.c:54:9: error: implicit declaration of function ‘pic_mask_irq’ [-Werror=implicit-function-declaration]
         pic_mask_irq(mask, irq);
         ^
src/plat/pc99/machine/hardware.c:54:9: error: nested extern declaration of ‘pic_mask_irq’ [-Werror=nested-externs]
cc1: all warnings being treated as errors
make: *** [kernel_final.s] Error 1

I am trying to compile it on a 64 bit machine with red hat linux machine operating system on it.
Please help me with this issue.

Regards
Yash
 


_______________________________________________
Devel mailing list
Devel@sel4.systems
https://sel4.systems/lists/listinfo/devel




The information in this e-mail may be confidential and subject to legal professional privilege and/or copyright. National ICT Australia Limited accepts no liability for any damage caused by this email or its attachments.