ros-infrastructure / ros_buildfarm

ROS buildfarm based on Docker
Apache License 2.0
82 stars 96 forks source link

[docker-based prerelease] Kinetic - ImportError: No module named 'em' #290

Closed IanTheEngineer closed 8 years ago

IanTheEngineer commented 8 years ago

I am attempting to run a prerelease test to verify genjs (now gennodejs) in Kinetic before pushing it up to rosdistro. I used the tool to create a prerelease command for Kinetic & Xenial as follows:

generate_prerelease_script.py   https://raw.githubusercontent.com/ros-infrastructure/ros_buildfarm_config/production/index.yaml   kinetic default ubuntu xenial amd64   genjs genmsg   --level 1   --output-dir ./

after executing the ./prerelease.sh, I ended up with this error pretty quickly:

Build step 6
+ rm -fr /tmp/prerelease_job/docker_generating_dockers
+ mkdir -p /tmp/prerelease_job/docker_generating_dockers
+ sleep 1
+ python3 -u /tmp/prerelease_job/ros_buildfarm/scripts/subprocess_reaper.py 6865 --cid-file /tmp/prerelease_job/docker_generating_dockers/docker.cid
+ echo # BEGIN SECTION: Generate Dockerfile - devel tasks
# BEGIN SECTION: Generate Dockerfile - devel tasks
+ export TZ=EDT-00
+ export PYTHONPATH=/tmp/prerelease_job/ros_buildfarm:/opt/ros/kinetic/lib/python2.7/dist-packages
+ python3 -u /tmp/prerelease_job/ros_buildfarm/scripts/devel/run_devel_job.py --rosdistro-index-url https://raw.githubusercontent.com/ros/rosdistro/master/index.yaml kinetic default prerelease ubuntu xenial amd64 --distribution-repository-urls http://repositories.ros.org/ubuntu/testing --distribution-repository-key-files /tmp/prerelease_job/keys/0.key --dockerfile-dir /tmp/prerelease_job/docker_generating_dockers
Traceback (most recent call last):
  File "/tmp/prerelease_job/ros_buildfarm/scripts/devel/run_devel_job.py", line 21, in <module>
    from ros_buildfarm.templates import create_dockerfile
  File "/tmp/prerelease_job/ros_buildfarm/ros_buildfarm/templates/__init__.py", line 3, in <module>
    from em import Interpreter
ImportError: No module named 'em'

Is this em Python 3 module missing from the prerelease docker images, or is this a dep my computer should have?

dirk-thomas commented 8 years ago

The docker image will take care of all its dependencies. This is em missing on your system (https://github.com/ros-infrastructure/ros_buildfarm/blob/master/doc/environment.rst). You need to install http://packages.ubuntu.com/search?keywords=python3-empy

IanTheEngineer commented 8 years ago

Thanks, Dirk. Somehow I missed the large purple box :/ http://wiki.ros.org/regression_tests#How_do_I_setup_my_system_to_run_a_prerelease.3F

dirk-thomas commented 8 years ago

We can choose a different color if you don't like purple?? :wink:

IanTheEngineer commented 8 years ago

Haha, nope! I just need to read more carefully.