Hello everyone, The tutorials provided here are failing to build for me: https://github.com/seL4/sel4-tutorials Here are the steps to reproduce the errors: git clone git@github.com:seL4/seL4-CAmkES-L4v-dockerfiles.git && git clone git@github.com:seL4/sel4-tutorials.git && make -C ./seL4-CAmkES-L4v-dockerfiles user HOST_DIR=$(pwd)\ followed by cd sel4-tutorials && mkdir build && cd build && ../init.py --plat pc99 --tut camkes-vm-linux Then I am met with the error: ERROR:root:Parent directory is not tutorials root directory which I can fix by changing this line to read "init.py": https://github.com/seL4/sel4-tutorials/blob/d040028999b83c6af2309785f7468107... Trying again after this edit, I meet the following errors: loading initial cache file ../projects/sel4-tutorials/settings.cmake CMake Error: Error processing file: ../projects/sel4-tutorials/settings.cmake CMake Error: The source directory "/host/sel4-tutorials/build" 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.py", line 90, in <module> sys.exit(main()) File "../init.py", line 78, in main result = common.init_directories(args.plat, args.tut, args.solution, File "/host/sel4-tutorials/common.py", line 101, in init_directories return _init_build_directory(config, initialised, build_directory, tute_directory, output, config_dict=config_dict) File "/host/sel4-tutorials/common.py", line 69, in _init_build_directory return sh.cmake(args + [tute_directory], _cwd=directory, _out=output, _err=output) File "/usr/local/lib/python3.8/dist-packages/sh.py", line 1520, in __call__ return RunningCommand(cmd, call_args, stdin, stdout, stderr) File "/usr/local/lib/python3.8/dist-packages/sh.py", line 784, in __init__ self.wait() File "/usr/local/lib/python3.8/dist-packages/sh.py", line 841, in wait self.handle_command_exit_code(exit_code) File "/usr/local/lib/python3.8/dist-packages/sh.py", line 865, in handle_command_exit_code raise exc sh.ErrorReturnCode_1: RAN: /usr/bin/cmake -G Ninja -DTUT_BOARD=pc -DTUT_ARCH=x86_64 -DFORCE_IOMMU=ON -DTUTORIAL_DIR=build -C ../projects/sel4-tutorials/settings.cmake /host/sel4-tutorials/build STDOUT: STDERR: Either I'm missing something obvious or these instructions have fallen out of date. In any case I would be grateful for any advice. Best, Michael Neises
Hi Michael
"Michael" == Michael Neises
writes:
Michael> The tutorials provided here are failing to build for me: Michael> https://github.com/seL4/sel4-tutorials Michael> Here are the steps to reproduce the errors: Michael> git clone git@github.com:seL4/seL4-CAmkES-L4v-dockerfiles.git Michael> && git clone git@github.com:seL4/sel4-tutorials.git && make Michael> -C ./seL4-CAmkES-L4v-dockerfiles user HOST_DIR=$(pwd)\ You probably want to use sel4-tutorials-manifest and the repo tool to set up the build tree correctly. seL4-tutorials only has part of the tree. https://docs.sel4.systems/Tutorials/ has the instructions. Peter C -- Dr Peter Chubb https://trustworthy.systems/ Trustworthy Systems Group CSE, UNSW
On 30 Jun 2021, at 09:24, Peter Chubb
wrote: Hi Michael
"Michael" == Michael Neises
writes: Michael> The tutorials provided here are failing to build for me: Michael> https://github.com/seL4/sel4-tutorials
Michael> Here are the steps to reproduce the errors:
Michael> git clone git@github.com:seL4/seL4-CAmkES-L4v-dockerfiles.git Michael> && git clone git@github.com:seL4/sel4-tutorials.git && make Michael> -C ./seL4-CAmkES-L4v-dockerfiles user HOST_DIR=$(pwd)\
You probably want to use sel4-tutorials-manifest and the repo tool to set up the build tree correctly. seL4-tutorials only has part of the tree.
https://docs.sel4.systems/Tutorials/ has the instructions.
It turns out we only really say that hidden behind a link at the end of the README. Sorry about that, this must have confused lots of people. I've added a PR to make this clearer for when you get to the tutorials via the tutorial repo and not the docs site: https://github.com/seL4/sel4-tutorials/pull/58 Cheers, Gerwin
Thank you for the quick responses!
I am now bumping into a new problem.
Steps taken:
mkdir sel4-tutorials-manifest
cd sel4-tutorials-manifest
repo init -u https://github.com/SEL4PROJ/sel4-tutorials-manifest
repo sync
# creating a Tutorial directory
mkdir tutorial
cd tutorial
# initialising the build directory with a tutorial exercise
../init --plat pc99 --tut camkes-vm-linux
# building the tutorial exercise
ninja
When I try to run "./simulate" I get the following error:
./simulate: qemu-system-x86_64 -cpu
Nehalem,+vme,+pdpe1gb,-xsave,-xsaveopt,-xsavec,-fsgsbase,-invpcid,+syscall,+lm,enforce
-nographic -serial mon:stdio -m size=512M -kernel
images/kernel-x86_64-pc99 -initrd images/capdl-loader-image-x86_64-pc99
qemu-system-x86_64: warning: TCG doesn't support requested feature:
CPUID.01H:EDX.vme [bit 1]
qemu-system-x86_64: TCG doesn't support requested features
I thought this might have to do with my host machine, so I tried the same
steps with both an Intel and AMD processor, but I got the same error. On
both machines I have no problem building camkes projects and simulating
with qemu-system-arm, so I might like to use zynq7000 instead of pc99, but
the camkes-vm-linux project only supports pc99. Could you point me in the
right direction once more?
Best,
Michael Neises
On Tue, Jun 29, 2021 at 6:47 PM Gerwin Klein
On 30 Jun 2021, at 09:24, Peter Chubb
wrote: Hi Michael
> "Michael" == Michael Neises
writes: Michael> The tutorials provided here are failing to build for me: Michael> https://github.com/seL4/sel4-tutorials
Michael> Here are the steps to reproduce the errors:
Michael> git clone git@github.com:seL4/seL4-CAmkES-L4v-dockerfiles.git Michael> && git clone git@github.com:seL4/sel4-tutorials.git && make Michael> -C ./seL4-CAmkES-L4v-dockerfiles user HOST_DIR=$(pwd)\
You probably want to use sel4-tutorials-manifest and the repo tool to set up the build tree correctly. seL4-tutorials only has part of the tree.
https://docs.sel4.systems/Tutorials/ has the instructions.
It turns out we only really say that hidden behind a link at the end of the README. Sorry about that, this must have confused lots of people.
I've added a PR to make this clearer for when you get to the tutorials via the tutorial repo and not the docs site: https://github.com/seL4/sel4-tutorials/pull/58
Cheers, Gerwin
"Michael" == Michael Neises
writes:
Michael> When I try to run "./simulate" I get the following error: Michael> ./simulate: qemu-system-x86_64 -cpu Michael> Nehalem,+vme,+pdpe1gb,-xsave,-xsaveopt,-xsavec,-fsgsbase,-invpcid,+syscall,+lm,enforce Michael> -nographic -serial mon:stdio -m size=512M -kernel Michael> images/kernel-x86_64-pc99 -initrd Michael> images/capdl-loader-image-x86_64-pc99 qemu-system-x86_64: Michael> warning: TCG doesn't support requested feature: Michael> CPUID.01H:EDX.vme [bit 1] qemu-system-x86_64: TCG doesn't Michael> support requested features You probably don't need VME, so try removing it from the qemu -cpu line (it provides 8086-mode virtualisation). Alternatively, add `-enable-kvm` to use passthrough instead of TCG mode. Peter C -- Dr Peter Chubb https://trustworthy.systems/ Trustworthy Systems Group CSE, UNSW
On Wed, Jun 30, 2021 at 10:49 AM Peter Chubb
"Michael" == Michael Neises
writes: Michael> When I try to run "./simulate" I get the following error:
The camkes-vm-linux tutorial requires extra arguments for the simulation script such that qemu allows nested virtualization. This should be documented at the start of the tutorial's markdown file that is generated, but it is also here: https://docs.sel4.systems/Tutorials/camkes-vm-linux.html#background
participants (4)
-
Gerwin Klein
-
Kent Mcleod
-
Michael Neises
-
Peter Chubb