seL4 / sel4-tutorials

Tutorials for working with seL4 and/or CAmkES.

Home Page:https://docs.sel4.systems/Tutorials

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

seL4 Tutorial 1 won't build the code

andrewmilson opened this issue · comments

OS: Ubuntu 16.04 x86_64

I have installed all prerequisites

    apt-get install git repo cmake ninja-build clang gcc-multilib gcc-arm-none-eabi binutils-arm-none-eabi \
    libncurses-dev libxml2-utils libssl-dev libsqlite3-dev libcunit1-dev expect python-pip

    pip install camkes-deps

    # Required for CAmkES only
    curl -sSL https://get.haskellstack.org/ | sh

I have also got the code

mkdir sel4-tutorials-manifest
cd sel4-tutorials-manifest
repo init -u https://github.com/SEL4PROJ/sel4-tutorials-manifest -m sel4-tutorials.xml
repo sync

From the root directory of sel4-tutorials-manifest I have tried running the following from https://wiki.sel4.systems/seL4%20Tutorial%201.

make ia32_hello-1_defconfig

Although am getting the error:

$ make ia32_hello-1_defconfig
/home/andrew/work/projects/os/sel4/tutorials/projects/sel4-tutorials/build-config//Makefile-common:24: Unsupport or undefined platform, did you run make <defconfig>?
/home/andrew/work/projects/os/sel4/tutorials/projects/sel4-tutorials/build-config//Makefile-common:42: Unsupported or undefined architecture, did you run make <defconfig>?
[GEN] /home/andrew/work/projects/os/sel4/tutorials/Makefile
make -f tools/kbuild/Makefile.build obj=tools/kbuild/basic
make[1]: Entering directory '/home/andrew/work/projects/os/sel4/tutorials'
   gcc -Wp,-MD,tools/kbuild/basic/.fixdep.d -Itools/kbuild/basic -Wall -o tools/kbuild/basic/fixdep tools/kbuild/basic/fixdep.c  
   gcc -Wp,-MD,tools/kbuild/basic/.docproc.d -Itools/kbuild/basic -Wall -o tools/kbuild/basic/docproc tools/kbuild/basic/docproc.c  
make[1]: Leaving directory '/home/andrew/work/projects/os/sel4/tutorials'
   gcc -Wp,-MD,tools/kbuild/kconfig/.conf.o.d -Itools/kbuild/kconfig -Wall -DCURSES_LOC="<ncurses.h>" -DLOCALE -c -o tools/kbuild/kconfig/conf.o tools/kbuild/kconfig/conf.c
   gcc -Wp,-MD,tools/kbuild/kconfig/.zconf.tab.o.d -Itools/kbuild/kconfig -Wall -DCURSES_LOC="<ncurses.h>" -DLOCALE  -I/home/andrew/work/projects/os/sel4/tutorials/tools/kbuild/kconfig -Itools/kbuild/kconfig -c -o tools/kbuild/kconfig/zconf.tab.o tools/kbuild/kconfig/zconf.tab.c
   gcc  -o tools/kbuild/kconfig/conf tools/kbuild/kconfig/conf.o tools/kbuild/kconfig/zconf.tab.o  
Kconfig:26: can't open file "apps/hello-1/Kconfig"
/home/andrew/work/projects/os/sel4/tutorials/tools/kbuild/kconfig/Makefile:33: recipe for target 'ia32_hello-1_defconfig' failed
make[1]: *** [ia32_hello-1_defconfig] Error 1
tools/common/project.mk:212: recipe for target 'ia32_hello-1_defconfig' failed
make: *** [ia32_hello-1_defconfig] Error 2

Thanks for pointing that out. I can reproduce the problem and have fixed it internally. Expect to see the fix pushed to github it about a day. I'll close this once I confirm that this is fixed on github.

In the meantime, try using the latest released manifest (it should be equivalent to sel4-tutorials.xml, which I think just tracks the latest release anyway):
repo init -u https://github.com/SEL4PROJ/sel4-tutorials-manifest.git -m 5.2.x.xml

The default.xml manifest is a symlink to the latest released manifest (and will move as newer versions are released). Get it with:
repo init -u https://github.com/SEL4PROJ/sel4-tutorials-manifest.git

Thank you. Just tried again and it is working!