Tutorials using CAmkES / capDL fail an assertion
baltazarortiz opened this issue · comments
Using the Docker image, I started with a fresh copy of the tutorial repo:
mkdir test && cd test
repo init -u https://github.com/SEL4PROJ/sel4-tutorials-manifest
repo sync
(I did have to change .repo/manifest.xml
from <project name="polly"
to <project name="polly.git"
to get the sync to work, not sure if this is related or a networking issue on my end).
From here, I'm able to build the tutorials, and Capabilities, Untyped, Mapping, and the Dynamic Libraries tutorials build and run fine. For any tutorials using CAmkES / capDL (Threads, IPC, Notifications, Interrupts, Faults, Camkes, Camkes 1-3 (Camkes VM Linux had an unrelated build error)), I run into some issues.
Towards the end of the build there is a warning:
Warning: Installation path /host/test/hello-camkes-timer_build/hello-camkes-timer/capDL-tool not found on the PATH environment variable.
Adding the directory to the path does not make a difference with this issue.
If I try to run any of the CAmkES / capDL tutorials with ./simulate
I get the initial QEMU output then see:
Assertion failed: free_slot_end - free_slot_start >= CONFIG_CAPDL_LOADER_MAX_OBJECTS (../projects/camkes/capdl/capdl-l)
This seems to be the same error as in #12, but I'm not sure if the resolution there is applicable since it used the older build system. I also noticed that ../projects/camkes/capdl/capdl-l
does not exist.
This seems to be a CMake cache issue as the problem goes away if you run cmake . && ninja
again. We're looking into it, but for now just run that and you should be good to go.
This works, thank you!