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.