rosdep install Jenkins error

asked 2021-03-04 02:45:27 -0500

rluque gravatar image

I am trying to build z_laser_projector package successfully.

But Jenkins raises the following error:

08:54:33 KeyError: 'ezdxf'
08:54:33 
08:54:33 During handling of the above exception, another exception occurred:
08:54:33 
08:54:33 Traceback (most recent call last):
08:54:33   File "/tmp/ros_buildfarm/scripts/devel/create_devel_task_generator.py", line 304, in <module>
08:54:33     main()
08:54:33   File "/tmp/ros_buildfarm/scripts/devel/create_devel_task_generator.py", line 140, in main
08:54:33     get_binary_package_versions(apt_cache, debian_pkg_names))
08:54:33   File "/tmp/ros_buildfarm/ros_buildfarm/common.py", line 175, in get_binary_package_versions
08:54:33     pkg = apt_cache[debian_pkg_name]
08:54:33   File "/usr/lib/python3/dist-packages/apt/cache.py", line 301, in __getitem__
08:54:33     raise KeyError('The cache has no package named %r' % key)
08:54:33 KeyError: "The cache has no package named 'ezdxf'"

https://build.ros.org/view/Ndev/job/N...

I do not understand why it is errored at ezdxf Python module install, if it is included at rosdep rules (pip rule for Ubuntu focal): https://github.com/ros/rosdistro/blob... and it installs correctly at local workspace with rosdep

Thank you very much for your answers!

edit retag flag offensive close merge delete

Comments

I do not understand why it is errored at ezdxf Python module install, if it is included at rosdep rules (pip rule for Ubuntu focal): https://github.com/ros/rosdistro/blob... and it installs correctly at local workspace with rosdep

Afaik, packages with pip dependencies cannot be released through the ROS buildfarm. I'm not entirely sure what the situation is with devel jobs though (which is what the build you link to is).

It seems you've added the ezdxf dependency in fada-catec/z_laser_projector@2f9b4ade, so after the buildfarm has noticed that change, it tries to build your packages and seems to try to resolve your pip dependency as-if it was a Debian package.

that won't work I believe. But again, I'm not entirely sure.

gvdhoorn gravatar image gvdhoorn  ( 2021-03-04 03:57:22 -0500 )edit

Exactly, the problem is buildfarm is trying to solve the pip dependency as Debian package. Actually it is the same problem I had with TravisCI (https://github.com/fada-catec/z_laser...), so I changed the statement:

rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO

to

rosdep install -y -r --from-paths src --ignore-src --rosdistro $ROS_DISTRO --skip-keys=python3-ezdxf

and I installed it manually because TravisCI was forcing "sudo -H apt-get install -y python3-ezdxf", I do not understand well why:

executing command [sudo -H apt-get install -y python3-ezdxf]
Reading package lists...Done
Building dependency tree
Reading state information...Done
E: Unable to locate package python3-ezdxf
ERROR: the following rosdeps failed to install
  apt: command [sudo -H apt-get install -y python3-ezdxf] failed
The command "rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO" failed and exit
rluque gravatar image rluque  ( 2021-03-04 05:53:45 -0500 )edit
rluque gravatar image rluque  ( 2021-03-04 05:54:46 -0500 )edit