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 <devel-bounces@sel4.systems> on behalf of Zeyu Mi <yzmizeyu@gmail.com>
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