stevenjj / openpose_ros

A ros wrapper for the CMU openpose library
60 stars 25 forks source link

Error when running catklin_make #12

Closed angelbeibei closed 5 years ago

angelbeibei commented 6 years ago

HI, When i wanted to compile it on my computer,i met the following errors. environment: Ubuntu 16.04 CUDA 8.0 CUDNN 6.1 Opencv 2.4

CMakeFiles/openpose_ros_node_firephinx.dir/src/openpose_ros_node_firephinx.cpp.o: In function openPoseROSTutorial()': openpose_ros_node_firephinx.cpp:(.text+0x10e4): undefined reference tocv::imshow(cv::String const&, cv::_InputArray const&)' collect2: error: ld returned 1 exit status openpose_ros/openpose_ros_pkg/CMakeFiles/openpose_ros_node_firephinx.dir/build.make:155: recipe for target '/home/nvidia/catkin_ws/devel/lib/openpose_ros_pkg/openpose_ros_node_firephinx' failed make[2]: [/home/nvidia/catkin_ws/devel/lib/openpose_ros_pkg/openpose_ros_node_firephinx] Error 1 CMakeFiles/Makefile2:1604: recipe for target 'openpose_ros/openpose_ros_pkg/CMakeFiles/openpose_ros_node_firephinx.dir/all' failed make[1]: [openpose_ros/openpose_ros_pkg/CMakeFiles/openpose_ros_node_firephinx.dir/all] Error 2

who can help me? Thanks

stevenjj commented 6 years ago

Hello! Looks like a linking issue with OpenCV. Try doing a find package with opencv similar to: https://answers.ros.org/question/286128/cv_bridge-tutorial-example-not-compiling-in-ros-kinetic-and-ubuntu-1604/?answer=286150#post-id-286150

ryo-ponsan commented 5 years ago

Hello. I am facing the similar problem. I'm afraid I don't understand refer to that URL.

environment: Ubuntu 16.04 CUDA 8.0 CUDNN 5.1 Opencv 3.2

This is my error.

/usr/bin/ld: CMakeFiles/openpose_ros_node_firephinx.dir/src/openpose_ros_node_firephinx.cpp.o: undefined reference to symbol '_ZN2cv6imshowERKNS_6StringERKNS_11_InputArrayE' //usr/local/lib/libopencv_highgui.so.3.2: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status openpose_ros/openpose_ros_pkg/CMakeFiles/openpose_ros_node_firephinx.dir/build.make:133: recipe for target '/home/amed01pc/catkin_ws/devel/lib/openpose_ros_pkg/openpose_ros_node_firephinx' failed make[2]: [/home/amed01pc/catkin_ws/devel/lib/openpose_ros_pkg/openpose_ros_node_firephinx] Error 1 CMakeFiles/Makefile2:3432: recipe for target 'openpose_ros/openpose_ros_pkg/CMakeFiles/openpose_ros_node_firephinx.dir/all' failed make[1]: [openpose_ros/openpose_ros_pkg/CMakeFiles/openpose_ros_node_firephinx.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2 Invoking "make -j12 -l12" failed

It seems like I can't connect to "//usr/local/lib/libopencv_highgui.so.3.2:" But I found libopencv_highgui.so.3.2 is in the /usr/local/lib/ . So, I considered that there is no connection to opencv from "openpose_ros_node_firephinx.cpp. Then I updated CMakeLists.txt like this.


add_executable(openpose_ros_node_firephinx src/openpose_ros_node_firephinx.cpp) target_link_libraries(openpose_ros_node_firephinx ${catkin_LIBRARIES} ${OPENPOSE_LIBRARY} ${CAFFE_LIBRARY} ${CUDA_LIBRARY} ${OpenCV_LIBS}
${GFLAGS_LIBRARY} ${GLOG_LIBRARY})


But nothing happen. If you know anything, please tell me. Thank you.

ryo-ponsan commented 5 years ago

Close #12 I can fix it!!! I did like this at once, but it couldnt work. I don't know why. But now, I can build.

I only add OpenCV to find_package and target_link_libraries of openpose_ros_node_firephinx, like URL. I'm sorry to comment too much. Thank you.