0
$\begingroup$

Rosanswers logo

I am having a problem getting depth_image_proc to compile on OSX 10.7.3 for Fuerte. I forked rosdistro and added a homebrew line for pcl (which is installed ... 1.5.1), but it still fails. Any thoughts?

[kevin@dhcp184-48-194-60 depth_image_proc]$ rosmake depth_image_proc [ rosmake ] rosmake starting...
[ rosmake ] Packages requested are: ['depth_image_proc']
[ rosmake ] Logging to directory /Users/kevin/.ros/rosmake/rosmake_output-20120426-082529 [ rosmake ] Expanded args ['depth_image_proc'] to: ['depth_image_proc']
[rosmake-0] Starting >>> roslang [ make ]
[rosmake-1] Starting >>> rosservice [ make ]
[rosmake-1] Finished <<< rosservice ROS_NOBUILD in package rosservice No Makefile in package rosservice [rosmake-0] Finished <<< roslang ROS_NOBUILD in package roslang No Makefile in package roslang [rosmake-0] Starting >>> rospy [ make ]
[rosmake-0] Finished <<< rospy ROS_NOBUILD in package rospy No Makefile in package rospy [rosmake-0] Starting >>> roscpp [ make ]
[rosmake-0] Finished <<< roscpp ROS_NOBUILD in package roscpp No Makefile in package roscpp [rosmake-0] Starting >>> sensor_msgs [ make ]
[rosmake-0] Finished <<< sensor_msgs ROS_NOBUILD in package sensor_msgs No Makefile in package sensor_msgs [rosmake-0] Starting >>> opencv2 [ make ]
[rosmake-1] Starting >>> dynamic_reconfigure [ make ]
[rosmake-0] Finished <<< opencv2 [PASS] [ 0.05 seconds ]
[rosmake-0] Starting >>> image_geometry [ make ]
[rosmake-1] Finished <<< dynamic_reconfigure [PASS] [ 8.49 seconds ]
[rosmake-1] Starting >>> rosbuild [ make ]
[rosmake-1] Finished <<< rosbuild ROS_NOBUILD in package rosbuild No Makefile in package rosbuild [rosmake-1] Starting >>> roslib [ make ]
[rosmake-1] Finished <<< roslib ROS_NOBUILD in package roslib No Makefile in package roslib [rosmake-1] Starting >>> rosconsole [ make ]
[rosmake-1] Finished <<< rosconsole ROS_NOBUILD in package rosconsole No Makefile in package rosconsole [rosmake-1] Starting >>> pluginlib [ make ]
[rosmake-0] Finished <<< image_geometry [PASS] [ 10.57 seconds ]
[rosmake-0] Starting >>> message_filters [ make ]
[rosmake-0] Finished <<< message_filters ROS_NOBUILD in package message_filters No Makefile in package message_filters [rosmake-0] Starting >>> bond [ make ]
[rosmake-1] Finished <<< pluginlib [PASS] [ 4.51 seconds ]
[rosmake-1] Starting >>> image_transport [ make ]
[rosmake-0] Finished <<< bond [PASS] [ 2.70 seconds ]
[rosmake-0] Starting >>> smclib [ make ]
[rosmake-0] Finished <<< smclib [PASS] [ 0.08 seconds ]
[rosmake-0] Starting >>> bondcpp [ make ]
[rosmake-0] Finished <<< bondcpp [PASS] [ 2.98 seconds ]
[rosmake-0] Starting >>> nodelet [ make ]
[rosmake-1] Finished <<< image_transport [PASS] [ 3.76 seconds ]
[rosmake-1] Starting >>> rosbag [ make ]
[rosmake-1] Finished <<< rosbag ROS_NOBUILD in package rosbag No Makefile in package rosbag [rosmake-1] Starting >>> geometry_msgs [ make ]
[rosmake-1] Finished <<< geometry_msgs ROS_NOBUILD in package geometry_msgs No Makefile in package geometry_msgs [rosmake-1] Starting >>> std_msgs [ make ]
[rosmake-1] Finished <<< std_msgs ROS_NOBUILD in package std_msgs No Makefile in package std_msgs [rosmake-1] Starting >>> bullet [ make ]
[ rosmake ] Output from build of package bullet written to:tive 20/31 Complete ] [ rosmake ] /Users/kevin/.ros/rosmake/rosmake_output-20120426-082529/bullet/build_output.log [rosmake-1] Finished <<< bullet [PASS] [ 2.04 seconds ] -- WARNING: 4 compiler warnings [rosmake-1] Starting >>> angles [ make ]
[rosmake-1] Finished <<< angles [PASS] [ 2.00 seconds ]
[rosmake-1] Starting >>> rostest [ make ]
[rosmake-1] Finished <<< rostest ROS_NOBUILD in package rostest No Makefile in package rostest [rosmake-1] Starting >>> roswtf [ make ]
[rosmake-1] Finished <<< roswtf ROS_NOBUILD in package roswtf No Makefile in package roswtf [rosmake-1] Starting >>> tf [ make ]
[rosmake-0] Finished <<< nodelet [PASS] [ 5.03 seconds ]
[rosmake-0] Starting >>> nodelet_topic_tools [ make ]
[rosmake-0] Finished <<< nodelet_topic_tools [PASS] [ 2.89 seconds ]
[rosmake-0] Starting >>> common_rosdeps [ make ]
[rosmake-0] Finished <<< common_rosdeps [PASS] [ 0.39 seconds ]
[rosmake-0] Starting >>> stereo_msgs [ make ]
[rosmake-0] Finished <<< stereo_msgs ROS_NOBUILD in package stereo_msgs No Makefile in package stereo_msgs [rosmake-1] Finished <<< tf [PASS] [ 6.79 seconds ]
[rosmake-1] Starting >>> pcl_ros [ make ]
[rosmake-1] Finished <<< pcl_ros [SKIP] No rule to make target None
[rosmake-1] Starting >>> depth_image_proc [ make ]
[ rosmake ] All 35 linesepth_image_proc: 3.4 sec ] [ 1 Active 30/31 Complete ] {------------------------------------------------------------------------------- mkdir -p bin cd build && cmake -Wdev -DCMAKE_TOOLCHAIN_FILE=rospack find rosbuild/rostoolchain.cmake .. [rosbuild] Building package depth_image_proc [rosbuild] Including /opt/ros/fuerte/share/rospy/rosbuild/rospy.cmake [rosbuild] Including /opt/ros/fuerte/share/common-lisp/ros/roslisp/rosbuild/roslisp.cmake [rosbuild] Including /opt/ros/fuerte/share/roscpp/rosbuild/roscpp.cmake -- Eigen found (include: /usr/local/Cellar/eigen/3.0.5/include/eigen3) -- Configuring done -- Generating done CMake Warning: Manually-specified variables were not used by the project:

  CMAKE_TOOLCHAIN_FILE

-- Build files have been written to: /Users/kevin/ros_sandbox/stacks/image_pipeline/depth_image_proc/build cd build && make -l2 [ 0%] Built target rospack_genmsg_libexe [ 0%] Built target rosbuild_precompile Linking CXX shared library ../lib/libdepth_image_proc.dylib Undefined symbols for architecture x86_64: "boost::signals::connection::~connection()", referenced from: message_filters::Connection::~Connection()in disparity.o message_filters::Connection::~Connection()in point_cloud_xyzrgb.o message_filters::Connection::~Connection()in register.o "boost::signals::connection::operator=(boost::signals::connection const&)", referenced from: void message_filters::Synchronizer<message_filters::sync_policies::ExactTime<sensor_msgs::Image_std::allocator<void >, sensor_msgs::CameraInfo_std::allocator<void >, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType> >::connectInput<image_transport::SubscriberFilter, message_filters::Subscriber<sensor_msgs::CameraInfo_std::allocator<void > >, message_filters::NullFilter<message_filters::NullType>, message_filters::NullFilter<message_filters::NullType>, message_filters::NullFilter<message_filters::NullType>, message_filters::NullFilter<message_filters::NullType>, message_filters::NullFilter<message_filters::NullType>, message_filters::NullFilter<message_filters::NullType>, message_filters::NullFilter<message_filters::NullType> >(image_transport::SubscriberFilter&, message_filters::Subscriber<sensor_msgs::CameraInfo_std::allocator<void > >&, message_filters::NullFilter<message_filters::NullType>&, message_filters::NullFilter<message_filters::NullType>&, message_filters::NullFilter<message_filters::NullType>&, message_filters::NullFilter<message_filters::NullType>&, message_filters::NullFilter<message_filters::NullType>&, message_filters::NullFilter<message_filters::NullType>&, message_filters::NullFilter<message_filters::NullType>&)in disparity.o void message_filters::Synchronizer<message_filters::sync_policies::ApproximateTime<sensor_msgs::Image_std::allocator<void >, sensor_msgs::Image_std::allocator<void >, sensor_msgs::CameraInfo_std::allocator<void >, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType> >::connectInput<image_transport::SubscriberFilter, image_transport::SubscriberFilter, message_filters::Subscriber<sensor_msgs::CameraInfo_std::allocator<void > >, message_filters::NullFilter<message_filters::NullType>, message_filters::NullFilter<message_filters::NullType>, message_filters::NullFilter<message_filters::NullType>, message_filters::NullFilter<message_filters::NullType>, message_filters::NullFilter<message_filters::NullType>, message_filters::NullFilter<message_filters::NullType> >(image_transport::SubscriberFilter&, image_transport::SubscriberFilter&, message_filters::Subscriber<sensor_msgs::CameraInfo_std::allocator<void > >&, message_filters::NullFilter<message_filters::NullType>&, message_filters::NullFilter<message_filters::NullType>&, message_filters::NullFilter<message_filters::NullType>&, message_filters::NullFilter<message_filters::NullType>&, message_filters::NullFilter<message_filters::NullType>&, message_filters::NullFilter<message_filters::NullType>&)in point_cloud_xyzrgb.o void message_filters::Synchronizer<message_filters::sync_policies::ApproximateTime<sensor_msgs::Image_std::allocator<void >, sensor_msgs::CameraInfo_std::allocator<void >, sensor_msgs::CameraInfo_std::allocator<void >, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType> >::connectInput<image_transport::SubscriberFilter, message_filters::Subscriber<sensor_msgs::CameraInfo_std::allocator<void > >, message_filters::Subscriber<sensor_msgs::CameraInfo_std::allocator<void > >, message_filters::NullFilter<message_filters::NullType>, message_filters::NullFilter<message_filters::NullType>, message_filters::NullFilter<message_filters::NullType>, message_filters::NullFilter<message_filters::NullType>, message_filters::NullFilter<message_filters::NullType>, message_filters::NullFilter<message_filters::NullType> >(image_transport::SubscriberFilter&, message_filters::Subscriber<sensor_msgs::CameraInfo_std::allocator<void > >&, message_filters::Subscriber<sensor_msgs::CameraInfo_std::allocator<void > >&, message_filters::NullFilter<message_filters::NullType>&, message_filters::NullFilter<message_filters::NullType>&, message_filters::NullFilter<message_filters::NullType>&, message_filters::NullFilter<message_filters::NullType>&, message_filters::NullFilter<message_filters::NullType>&, message_filters::NullFilter<message_filters::NullType>&)in register.o ld: symbol(s) not found for architecture x86_64 collect2: ld returned 1 exit status make[3]: *** [../lib/libdepth_image_proc.dylib] Error 1 make[2]: *** [CMakeFiles/depth_image_proc.dir/all] Error 2 make[1]: *** [all] Error 2

[ rosmake ] Output from build of package depth_image_proc written to: [ rosmake ] /Users/kevin/.ros/rosmake/rosmake_output-20120426-082529/depth_image_proc/build_output.log [rosmake-1] Finished <<< depth_image_proc [FAIL] [ 3.50 seconds ]
[ rosmake ] Halting due to failure in package depth_image_proc. [ rosmake ] Waiting for other threads to complete. [ rosmake ] Results:
[ rosmake ] Built 31 packages with 1 failures.
[ rosmake ] Summary output to directory
[ rosmake ] /Users/kevin/.ros/rosmake/rosmake_output-20120426-082529


Originally posted by Kevin on ROS Answers with karma: 2962 on 2012-04-26

Post score: 1

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

I figured it out ... it is another boost linking error. Fuerte, OSX, and boost don't seem to always work like it does in linux.

Follow these instructions to update pcl dependencies for osx.

Add the following lines to CMakeLists.txt in depth_image_proc:

rosbuild_add_boost_directories()
rosbuild_link_boost(depth_image_proc thread signals)

Then it will compile correctly. You will also need to change pcl from a package to a rosdep in manifest.xml.

You also need to do similar things in bondcpp and image_view if you get errors there.


Originally posted by Kevin with karma: 2962 on 2012-04-26

This answer was ACCEPTED on the original site

Post score: 2

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.