Hi Zeyu,
The MCS tutorials are not currently up to date with the latest libraries.
I've attached a manifest which was the last version that worked - can you tell me if the revisions in it work for you? If so I can tag them all and update the tutorials.
Cheers
Anna.
________________________________
From: Devel on behalf of Zeyu Mi
Sent: 17 May 2019 15:20
To: devel@sel4.systems
Subject: [seL4] Compilation Errors for the MCS tutorial
Hi,
I was trying the MCS tutorial but encountered a few compilation errors which I cannot resolve. And the previous tutorials can be compiled normally.
The building environment is based on Docker, as recommended by the tutorials.
Steps:
1. cd kernel
2. git fetch seL4 mcs-tutorials
3. git checkout mcs-tutorials
4. cd .. && ./init --tut mcs
5. cd mcs && ninja
Compilation output about the errors:
[79/161] Building C object projects/seL4_libs/libsel4utils/CMakeFiles/sel4utils.dir/src/elf.c.obj
FAILED: projects/seL4_libs/libsel4utils/CMakeFiles/sel4utils.dir/src/elf.c.obj
ccache /usr/bin/gcc --sysroot=/host/mcs_build -DHAVE_AUTOCONF -I../projects/seL4_libs/libsel4utils/include -I../projects/seL4_libs/libsel4utils/sel4_arch_include/x86_64 -I../projects/seL4_libs/libsel4utic
../projects/seL4_libs/libsel4utils/src/elf.c: In function ‘rights_from_elf’:
../projects/seL4_libs/libsel4utils/src/elf.c:35:12: error: too many arguments to function ‘seL4_CapRights_new’
return seL4_CapRights_new(false, false, canRead, canWrite);
In file included from ../kernel/libsel4/include/sel4/types.h:30:0,
from ../kernel/libsel4/include/sel4/sel4.h:16,
from ../projects/seL4_libs/libsel4utils/src/elf.c:15:
libsel4/include/sel4/shared_types_gen.h:317:1: note: declared here
seL4_CapRights_new(seL4_Uint64 capAllowGrant, seL4_Uint64 capAllowRead, seL4_Uint64 capAllowWrite)
[82/161] Building C object projects/seL4_libs/libsel4utils/CMakeFiles/sel4utils.dir/src/vspace/bootstrap.c.obj
FAILED: projects/seL4_libs/libsel4utils/CMakeFiles/sel4utils.dir/src/vspace/bootstrap.c.obj
ccache /usr/bin/gcc --sysroot=/host/mcs_build -DHAVE_AUTOCONF -I../projects/seL4_libs/libsel4utils/include -I../projects/seL4_libs/libsel4utils/sel4_arch_include/x86_64 -I../projects/seL4_libs/libsel4utic
In file included from ../projects/seL4_libs/libsel4utils/src/vspace/bootstrap.c:20:0:
../projects/seL4_libs/libsel4utils/src/vspace/bootstrap.c: In function ‘common_init_post_bootstrap’:
../projects/seL4_libs/libsel4utils/include/sel4utils/vspace.h:43:43: error: ‘seL4_UserTop’ undeclared (first use in this function)
#define KERNEL_RESERVED_START (ALIGN_DOWN(seL4_UserTop, PAGE_SIZE_4K))
Thanks in advance.
Zeyu