seL4 / seL4-CAmkES-L4v-dockerfiles

Dockerfiles defining the dependencies required to build seL4, CAmkES, and L4v.
13 stars 40 forks source link

docker container lacks Python modules needed for tutorials #10

Closed axel-h closed 5 years ago

axel-h commented 5 years ago

It seems the docker container does not have the Python module "sh". I'm getting this error when trying to initialize them:

Traceback (most recent call last):
  File "../sel4-tutorials-manifest/init", line 16, in <module>
    import common
  File "/host/sel4-tutorials/sel4-tutorials-manifest/projects/sel4-tutorials/common.py", line 16, in <module>
    import sh
ImportError: No module named sh

installing it manually fixed it, but this just causes more errors due to missing packages. Seem this should become part of the general container setup: (see also http://sel4.systems/pipermail/devel/2018-October/002222.html):

pip install sh enum34 pyyaml
LukeMondy commented 5 years ago

Interesting! It should be installed in the base_tools: https://github.com/SEL4PROJ/seL4-CAmkES-L4v-dockerfiles/blob/8e7fdedde2c38c05b871c0a57af342a86d909431/base_tools.dockerfile#L45 Clearly something odd is happening along the way.

Which docker image are you using? And do you know which version of python you are using? I'll be on leave until the 7th, so might take until then for a fix sorry!

axel-h commented 5 years ago

Yes, just saw this. Seems I have to delete all images and rebuild it fully from scratch. Seems I've run into the usual issue that just a fresh checkout is not enough, as older docker images still exist on the system. Is there an option that each checkout of the repos creates a unique ID that cause other docker images to be ignored?