Closed ergys00 closed 1 year ago
clean your workspace (completely remove "devel", "build", and "install" (if present)), then run "catkin config" and post output here. Then run "catkin build --verbose" and post link to output here. I suspect there are other warning/error messages before that. What operating system and version of ROS are you running on?
Workspace configuration appears valid.
i'm running on UBUNTU 18.04 with ros melodic (the base version, i manually installed opencv 3.4), that's the output of catkin build --verbose outputofcatkin.txt
You seem to have a custom version of opencv under /usr/local that apparently gets pulled in and causes havoc. I don't know what the righ fix for that is. Is there a way you can remove /usr/local from the search path? I'm not an expert on build environments unfortunately.
/usr/bin/cmake -E cmake_link_script CMakeFiles/viz_flow_node.dir/link.txt --verbose=1
/usr/bin/c++ -std=c++17 -Wall -Wextra -ftemplate-backtrace-limit=0 -march=native -O3 -DNDEBUG -rdynamic CMakeFiles/viz_flow_node.dir/src/viz_flow_node.cpp.o -o /root/workspace/catkin_ws_ov/devel/.private/basalt_ros1/lib/basalt_ros1/viz_flow_node -Wl,-rpath,/opt/ros/melodic/lib:/root/works\
pace/catkin_ws_ov/devel/.private/basalt/lib /opt/ros/melodic/lib/libnodeletlib.so /opt/ros/melodic/lib/libbondcpp.so -luuid /opt/ros/melodic/lib/libtf.so /opt/ros/melodic/lib/libtf2_ros.so /opt/ros/melodic/lib/libactionlib.so /opt/ros/melodic/lib/libtf2.so /opt/ros/melodic/lib/libcv_bridge.so\
/usr/lib/x86_64-linux-gnu/libopencv_core.so.3.2.0 /usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.3.2.0 /usr/lib/x86_64-linux-gnu/libopencv_imgcodecs.so.3.2.0 /opt/ros/melodic/lib/libimage_transport.so /opt/ros/melodic/lib/libmessage_filters.so /opt/ros/melodic/lib/libclass_loader.so -lPocoFo\
undation -ldl /opt/ros/melodic/lib/libroscpp.so /opt/ros/melodic/lib/librosconsole.so /opt/ros/melodic/lib/librosconsole_log4cxx.so /opt/ros/melodic/lib/librosconsole_backend_interface.so -llog4cxx -lboost_regex /opt/ros/melodic/lib/libxmlrpcpp.so /opt/ros/melodic/lib/libroslib.so /opt/ros/me\
lodic/lib/librospack.so -lpython2.7 -lboost_filesystem -lboost_program_options -ltinyxml2 /opt/ros/melodic/lib/libroscpp_serialization.so /opt/ros/melodic/lib/librostime.so /opt/ros/melodic/lib/libcpp_common.so -lboost_system -lboost_thread -lboost_chrono -lboost_date_time -lboost_atomic -lpt\
hread /usr/lib/x86_64-linux-gnu/libconsole_bridge.so.0.4 /root/workspace/catkin_ws_ov/devel/.private/basalt/lib/libbasalt.so
/usr/bin/ld: warning: libopencv_imgproc.so.3.4, needed by /root/workspace/catkin_ws_ov/devel/.private/basalt/lib/libbasalt.so, may conflict with libopencv_imgproc.so.3.2
/usr/bin/ld: warning: libopencv_core.so.3.4, needed by /root/workspace/catkin_ws_ov/devel/.private/basalt/lib/libbasalt.so, may conflict with libopencv_core.so.3.2
/usr/bin/ld: CMakeFiles/viz_flow_node.dir/src/viz_flow_node.cpp.o: undefined reference to symbol '_ZN2cv3MatC1Eiii'
//usr/local/lib/libopencv_core.so.3.4: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/viz_flow_node.dir/build.make:134: recipe for target '/root/workspace/catkin_ws_ov/devel/.private/basalt_ros1/lib/basalt_ros1/viz_flow_node' failed
make[2]: Leaving directory '/root/workspace/catkin_ws_ov/build/basalt_ros1'
CMakeFiles/Makefile2:1321: recipe for target 'CMakeFiles/viz_flow_node.dir/all' failed
I solved the problem by editing the CMakelist.txt file in the folder basalt_ros1. In line 147 i changed "target_link_libraries(viz_flow_node ${catkin_LIBRARIES})" to "target_link_libraries(viz_flow_node ${catkin_LIBRARIES} ${OpenCV_LIBRARIES})"
When i try to install basalt_ros1 it gives me that error and the installation stops /usr/bin/ld: CMakeFiles/viz_flow_node.dir/src/viz_flow_node.cpp.o: undefined reference to symbol '_ZN2cv3MatC1Eiii'