OpenCV 3.3.1 is breaking builds in Kinetic

Testing with your docker image, I noticed that you have OpenCV inside your catkin_packages DEPENDS entry which means that you already have the OpenCV libraries in your link flags crom the {catkin_LIBRARIES}` element. And I successfully tested that the package compiles and links by removing the `{OpenCV_LIBRARIES}` from your link command.

[100%] Linking CXX shared library /workspace/devel/.private/swri_geometry_util/lib/libswri_geometry_util.so
/usr/bin/cmake -E cmake_link_script CMakeFiles/swri_geometry_util.dir/link.txt --verbose=1
/usr/bin/c++ -fPIC -O2 -g -DNDEBUG -shared -Wl,-soname,libswri_geometry_util.so -o /workspace/devel/.private/swri_geometry_util/lib/libswri_geometry_util.so CMakeFiles/swri_geometry_util.dir/src/cubic_spline.cpp.o CMakeFiles/swri_geometry_util.dir/src/geometry_util.cpp.o CMakeFiles/swri_geometry_util.dir/src/intersection.cpp.o CMakeFiles/swri_geometry_util.dir/src/polygon.cpp.o /opt/ros/kinetic/lib/libcv_bridge.so /opt/ros/kinetic/lib/libopencv_core3.so.3.3.1 /opt/ros/kinetic/lib/libopencv_imgproc3.so.3.3.1 /opt/ros/kinetic/lib/libopencv_imgcodecs3.so.3.3.1 /opt/ros/kinetic/lib/libtf.so /opt/ros/kinetic/lib/libtf2_ros.so /opt/ros/kinetic/lib/libactionlib.so /opt/ros/kinetic/lib/libmessage_filters.so /opt/ros/kinetic/lib/libroscpp.so -lboost_signals -lboost_filesystem /opt/ros/kinetic/lib/libxmlrpcpp.so /opt/ros/kinetic/lib/libtf2.so /opt/ros/kinetic/lib/libroscpp_serialization.so /opt/ros/kinetic/lib/librosconsole.so /opt/ros/kinetic/lib/librosconsole_log4cxx.so /opt/ros/kinetic/lib/librosconsole_backend_interface.so -llog4cxx -lboost_regex /opt/ros/kinetic/lib/librostime.so /opt/ros/kinetic/lib/libcpp_common.so -lboost_system -lboost_thread -lboost_chrono -lboost_date_time -lboost_atomic -lpthread -lconsole_bridge -Wl,-rpath,/opt/ros/kinetic/lib:
make[2]: Leaving directory ‘/workspace/build/swri_geometry_util’
[100%] Built target swri_geometry_util

The above solution isn’t a full fix, but will at least get you going.

calib3d is the first of the OpenCV libraries exported if you don’t filter for just the core component like in the above example.

I’ve created a ticket here Lets follow up in the ticket.