Initializing of the sel4 tutorials fails because of missing the CMakeLists.txt
Hello, I tried to initialize the simple hello-word example and I get the following error. Maybe someone has an idea why the CmakeLists is not generated. I believe what you are seeing is caused by this issue: https://github.com/SEL4PROJ/sel4-tutorials/issues/40 The current work-around is to use an older version of CMake than 3.16.0. You can follow that issue for a notification when the underlying problem is fixed.
./init --tut hello-world --verbose INFO:sh.command:
: starting process DEBUG:sh.command.process: . : started process INFO:sh.command: : process started DEBUG:sh.command.process: . : acquiring wait lock to wait for completion DEBUG:sh.command.process: . : got wait lock DEBUG:sh.command.process: . : exit code not set, waiting on pid loading initial cache file ../projects/sel4-tutorials/settings.cmake -- Found capdl: /home/flo/sel4-tutorials-manifest/projects/capdl -- Found camkes-tool: /home/flo/sel4-tutorials-manifest/projects/sel4-tutorials CMake Error: The source directory "/home/flo/sel4-tutorials-manifest/hello-world" does not appear to contain CMakeLists.txt. Specify --help for usage, or press the help button on the CMake GUI. Traceback (most recent call last): File "./init", line 96, in <module> File "./init", line 85, in main File "/home/flo/sel4-tutorials-manifest/projects/sel4-tutorials/common.py", line 106, in init_directories return _init_build_directory(config, initialised, build_directory, tute_directory, output, config_dict=config_dict) File "/home/flo/sel4-tutorials-manifest/projects/sel4-tutorials/common.py", line 74, in _init_build_directory return sh.cmake(args + [tute_directory], _cwd=directory, _out=output, _err=output) File "/usr/local/lib/python3.6/dist-packages/sh.py", line 1427, in __call__ return RunningCommand(cmd, call_args, stdin, stdout, stderr) File "/usr/local/lib/python3.6/dist-packages/sh.py", line 774, in __init__ self.wait() File "/usr/local/lib/python3.6/dist-packages/sh.py", line 792, in wait self.handle_command_exit_code(exit_code) File "/usr/local/lib/python3.6/dist-packages/sh.py", line 815, in handle_command_exit_code raise exc sh.ErrorReturnCode_1: RAN: /usr/local/bin/cmake -G Ninja -DTUT_BOARD=pc -DTUT_ARCH=x86_64 -DTUTORIAL_DIR=hello-world -C ../projects/sel4-tutorials/settings.cmake /home/flo/sel4-tutorials-manifest/hello-world STDOUT: STDERR: Thanks and Regards Florian
Hi sel4 experts, I started playing around with camkes using signals / events , data providers and connections between 3 different components. I tried to generate a component that can receive events from two different endpoints by registering a callback for both endpoints. echo_reg_callback(callback_handler_EchoIn, NULL); echo1_reg_callback(callback_handler_EchoOut, NULL); component Echo { ………... consumes TheEvent echo; consumes TheEvent echo1; ……………... } assembly { composition { ………….. connection seL4Notification echo_event_in(from producer.echo, to echo.echo); connection seL4Notification echo_event_out(from consumer.echo1, to echo.echo1); …………. } Everything compiles without errors. But, if I start now the simulation I noticed that event .echo1 is never received by the Echo C component. Also I noticed that the connection seems to be depending on the event name. If I rename the echo event I also miss that event. So my question: How can I make the second event (echo1) received by the echo C component? Thanks for your help. Florian
Hi,
Hi sel4 experts,
I started playing around with camkes using signals / events , data providers and connections between 3 different components. I tried to generate a component that can receive events from two different endpoints by registering a callback for both endpoints.
echo_reg_callback(callback_handler_EchoIn, NULL); echo1_reg_callback(callback_handler_EchoOut, NULL);
component Echo { ………... consumes TheEvent echo; consumes TheEvent echo1; ……………... } assembly { composition { ………….. connection seL4Notification echo_event_in(from producer.echo, to echo.echo); connection seL4Notification echo_event_out(from consumer.echo1, to echo.echo1); …………. }
Everything compiles without errors. But, if I start now the simulation I noticed that event .echo1 is never received by the Echo C component.
Also I noticed that the connection seems to be depending on the event name. If I rename the echo event I also miss that event.
So my question: How can I make the second event (echo1) received by the echo C component?
The architecture that you have described should generate the behavior that you are expecting. Having 2 emitters linked up to a single receiver that registers 2 handlers, 1 for each event type, would experience the handler getting called once for each incoming event. I can't easily see what is causing your issue without more source code, but you could maybe try disabling each connection and see if you receive each different event individually before enabling them both.
Thanks for your help. Florian
Thanks, Kent.
participants (2)
-
Florian Berenbrinker
-
Mcleod, Kent (Data61, Kensington NSW)