ros-industrial-attic / yak_ros

Example ROS frontend node for the Yak TSDF package
Apache License 2.0
48 stars 22 forks source link

Add Github Actions for CI #31

Closed schornakj closed 4 years ago

schornakj commented 4 years ago

Depends on #40 in Yak, since that PR fixes some dependency issues.

On Xenial, the version of PCL that is linked through pcl_ros uses a different version of VTK than the one PCL is built against in the underlay Docker image, so I had to build the perception_pcl package from source in the upstream workspace.

schornakj commented 4 years ago

I removed the dependency on OpenCV from yak_ros, since that's handled by depending on cv_bridge. With ROS Kinetic on Xenial this brings in libraries that are linked against OpenCV 3.3. However, the Yak library doesn't specify a dependency on a specific OpenCV version, so on Xenial it ends up linked against OpenCV 2.X. This introduces library linking errors when building yak_ros on Xenial.

As a workaround for this, I added ros-kinetic-opencv3 as an additional package to be installed for the Xenial CI jobs. This lets Yak build with OpenCV 3.3, which resolves the linking errors for yak_ros without needing to build the other OpenCV-dependant ROS packages from source.

@gavanderhoorn Is this an acceptable solution?