ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

ros_desktop OS X Build Issue

asked 2013-04-16 03:22:08 -0600

Tom Moore gravatar image

updated 2014-01-28 17:16:12 -0600

ngrennan gravatar image

I would like to build everything required to run rviz on my OS 10.8.3 machine. I followed the instructions here:

http://www.ros.org/wiki/groovy/Installation/OSX/MacPorts/Source

...except that I changed ros_comm to desktop in the wstool command. When I run the prescribed cmake command, I get this output:

cmake .. -DCMAKE_INSTALL_PREFIX=/opt/ros/groovy  -DSETUPTOOLS_DEB_LAYOUT=OFF
-- Using CATKIN_DEVEL_PREFIX: /Users/ayrton/ros_catkin_ws/src/build/devel
-- Using CMAKE_PREFIX_PATH: 
-- Found gtest: gtests will be built
CMake Warning at catkin/cmake/test/nosetests.cmake:90 (message):
  nosetests not found, Python tests can not be run (try installing package
  'python-nose')
Call Stack (most recent call first):
  catkin/cmake/all.cmake:133 (include)
  CMakeLists.txt:12 (include)


-- Using CATKIN_TEST_RESULTS_DIR: /Users/ayrton/ros_catkin_ws/src/build/test_results
-- catkin 0.5.65
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~  traversing 156 packages in topological order:
-- ~~  - angles
-- ~~  - bond_core (metapackage)
WARNING: The metapackage 'bond_core' has no CMakeLists.txt. Please add one to the package source. You can use the following file: /Users/ayrton/ros_catkin_ws/src/build/catkin_generated/metapackages/bond_core/CMakeLists.txt
-- ~~  - common_msgs (metapackage)
WARNING: The metapackage 'common_msgs' has no CMakeLists.txt. Please add one to the package source. You can use the following file: /Users/ayrton/ros_catkin_ws/src/build/catkin_generated/metapackages/common_msgs/CMakeLists.txt
-- ~~  - console_bridge
-- ~~  - class_loader
-- ~~  - convex_decomposition
-- ~~  - cpp_common
-- ~~  - diagnostics (metapackage)
WARNING: The metapackage 'diagnostics' has no CMakeLists.txt. Please add one to the package source. You can use the following file: /Users/ayrton/ros_catkin_ws/src/build/catkin_generated/metapackages/diagnostics/CMakeLists.txt
-- ~~  - driver_common (metapackage)
WARNING: The metapackage 'driver_common' has no CMakeLists.txt. Please add one to the package source. You can use the following file: /Users/ayrton/ros_catkin_ws/src/build/catkin_generated/metapackages/driver_common/CMakeLists.txt
-- ~~  - genmsg
-- ~~  - gencpp
-- ~~  - genlisp
-- ~~  - genpy
-- ~~  - geometry (metapackage)
WARNING: The metapackage 'geometry' has no CMakeLists.txt. Please add one to the package source. You can use the following file: /Users/ayrton/ros_catkin_ws/src/build/catkin_generated/metapackages/geometry/CMakeLists.txt
-- ~~  - geometry_experimental (metapackage)
WARNING: The metapackage 'geometry_experimental' has no CMakeLists.txt. Please add one to the package source. You can use the following file: /Users/ayrton/ros_catkin_ws/src/build/catkin_generated/metapackages/geometry_experimental/CMakeLists.txt
-- ~~  - image_common (metapackage)
WARNING: The metapackage 'image_common' has no CMakeLists.txt. Please add one to the package source. You can use the following file: /Users/ayrton/ros_catkin_ws/src/build/catkin_generated/metapackages/image_common/CMakeLists.txt
-- ~~  - ivcon
-- ~~  - kdl (metapackage)
WARNING: The metapackage 'kdl' has no CMakeLists.txt. Please add one to the package source. You can use the following file: /Users/ayrton/ros_catkin_ws/src/build/catkin_generated/metapackages/kdl/CMakeLists.txt
-- ~~  - message_generation
-- ~~  - message_runtime
-- ~~  - mk
-- ~~  - nodelet_core (metapackage)
WARNING: The metapackage 'nodelet_core' has no CMakeLists.txt. Please add one to the package source. You can use the following file: /Users/ayrton/ros_catkin_ws/src/build/catkin_generated/metapackages/nodelet_core/CMakeLists.txt
-- ~~  - opencv2 (plain cmake)
-- ~~  - orocos_kdl
-- ~~  - orocos_kinematics_dynamics (metapackage)
WARNING: The metapackage 'orocos_kinematics_dynamics' has no CMakeLists.txt. Please add one to the package source. You can use the following file: /Users/ayrton/ros_catkin_ws/src/build/catkin_generated/metapackages/orocos_kinematics_dynamics/CMakeLists.txt
-- ~~  - python_orocos_kdl
-- ~~  - qt_dotgraph
-- ~~  - qt_gui
-- ~~  - qt_gui_app
-- ~~  - qt_gui_core (metapackage)
-- ~~  - qt_gui_py_common
-- ~~  - ros (metapackage)
-- ~~  - ros_comm (metapackage)
-- ~~  - ros_tutorials (metapackage)
-- ~~  - rosbash
-- ~~  - rosboost_cfg
-- ~~  - rosbuild ...
(more)
edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
1

answered 2013-04-16 07:54:34 -0600

William gravatar image

updated 2013-04-16 08:26:05 -0600

First, the tutorial at http://www.ros.org/wiki/groovy/Installation/OSX/MacPorts/Source is likely way out-of-date. I don't know if anyone is maintaining those instructions.

Second, the error you are getting is because you have to use catkin_make_isolated instead of catkin_make because your workspace contains packages like opencv which are not catkin packages, but are required for building all of ROS from source. (therefore you cannot exclude any of those packages, except pcl*).

You should look at the Homebrew instructions and substitute in macports where ever you see fit instead.

You can replace desktop with rviz in the wstool url and you will get only the packages required for rviz.

edit flag offensive delete link more

Comments

Excellent, thanks for all the info!

Tom Moore gravatar image Tom Moore  ( 2013-04-16 14:02:09 -0600 )edit
0

answered 2013-04-17 07:07:04 -0600

Tom Moore gravatar image

Another issue: the build gets pretty far, but then it gets to tf2_ros and has some serious linking issues. I cd'd over to the directory and ran the build command manually with VERBOSE=1 on so that I could see the invocation:

Ayrbook:tf2_ros ayrton$ make -j8 -l8 VERBOSE=1
/usr/local/Cellar/cmake/2.8.10.2/bin/cmake -H/Users/ayrton/ros_catkin_ws/src/tf2_ros -B/Users/ayrton/ros_catkin_ws/build_isolated/tf2_ros --check-build-system CMakeFiles/Makefile.cmake 0
/usr/local/Cellar/cmake/2.8.10.2/bin/cmake -E cmake_progress_start /Users/ayrton/ros_catkin_ws/build_isolated/tf2_ros/CMakeFiles /Users/ayrton/ros_catkin_ws/build_isolated/tf2_ros/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make -f CMakeFiles/tf2_ros.dir/build.make CMakeFiles/tf2_ros.dir/depend
cd /Users/ayrton/ros_catkin_ws/build_isolated/tf2_ros && /usr/local/Cellar/cmake/2.8.10.2/bin/cmake -E cmake_depends "Unix Makefiles" /Users/ayrton/ros_catkin_ws/src/tf2_ros /Users/ayrton/ros_catkin_ws/src/tf2_ros /Users/ayrton/ros_catkin_ws/build_isolated/tf2_ros /Users/ayrton/ros_catkin_ws/build_isolated/tf2_ros /Users/ayrton/ros_catkin_ws/build_isolated/tf2_ros/CMakeFiles/tf2_ros.dir/DependInfo.cmake --color=
make -f CMakeFiles/tf2_ros.dir/build.make CMakeFiles/tf2_ros.dir/build
Linking CXX shared library /Users/ayrton/ros_catkin_ws/devel_isolated/tf2_ros/lib/libtf2_ros.dylib
/usr/local/Cellar/cmake/2.8.10.2/bin/cmake -E cmake_link_script CMakeFiles/tf2_ros.dir/link.txt --verbose=1
/usr/bin/c++   -dynamiclib -Wl,-headerpad_max_install_names   -o /Users/ayrton/ros_catkin_ws/devel_isolated/tf2_ros/lib/libtf2_ros.dylib -install_name /Users/ayrton/ros_catkin_ws/devel_isolated/tf2_ros/lib/libtf2_ros.dylib CMakeFiles/tf2_ros.dir/src/buffer.cpp.o CMakeFiles/tf2_ros.dir/src/transform_listener.cpp.o CMakeFiles/tf2_ros.dir/src/buffer_client.cpp.o CMakeFiles/tf2_ros.dir/src/buffer_server.cpp.o CMakeFiles/tf2_ros.dir/src/transform_broadcaster.cpp.o CMakeFiles/tf2_ros.dir/src/static_transform_broadcaster.cpp.o 
Undefined symbols for architecture x86_64:
  "ros::NodeHandle::advertiseService(ros::AdvertiseServiceOptions&)", referenced from:
      ros::ServiceServer ros::NodeHandle::advertiseService<tf2::buffer, tf2_msgs::framegraphrequest_<std::allocator<void=""> >, tf2_msgs::FrameGraphResponse_<std::allocator<void> > >(std::string const&, bool (tf2::Buffer::*)(tf2_msgs::FrameGraphRequest_<std::allocator<void> >&, tf2_msgs::FrameGraphResponse_<std::allocator<void> >&), tf2::Buffer*) in buffer.cpp.o
  "ros::NodeHandle::advertise(ros::AdvertiseOptions&)", referenced from:
      ros::Publisher actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::queue_advertise<tf2_msgs::lookuptransformactiongoal_<std::allocator<void> > >(std::string const&, unsigned int, boost::function<void (ros::singlesubscriberpublisher="" const&)=""> const&, boost::function<void (ros::singlesubscriberpublisher="" const&)=""> const&, ros::CallbackQueueInterface*) in buffer_client.cpp.o
      ros::Publisher actionlib::ActionClient<tf2_msgs::lookuptransformaction_<std::allocator<void> > >::queue_advertise<actionlib_msgs::goalid_<std::allocator<void> > >(std::string const&, unsigned int, boost::function<void (ros::singlesubscriberpublisher="" const&)=""> const&, boost::function<void (ros::singlesubscriberpublisher="" const&)=""> const&, ros::CallbackQueueInterface*) in buffer_client.cpp.o
      ros::Publisher ros::NodeHandle::advertise<tf2_msgs::lookuptransformactionresult_<std::allocator<void> > >(std::string const&, unsigned int, bool) in buffer_server.cpp.o
      ros::Publisher ros::NodeHandle::advertise<tf2_msgs::lookuptransformactionfeedback_<std::allocator<void> > >(std::string const&, unsigned int, bool) in buffer_server.cpp.o
      ros::Publisher ros::NodeHandle::advertise<actionlib_msgs::goalstatusarray_<std::allocator<void> > >(std::string const&, unsigned int, bool) in buffer_server.cpp.o
      ros::Publisher ros::NodeHandle::advertise<tf2_msgs::tfmessage_<std::allocator<void> > >(std::string const&, unsigned int, bool) in transform_broadcaster.cpp.o
      ros::Publisher ros ...
(more)
edit flag offensive delete link more

Comments

1

In the future, please open a new question. Here is your answer though: http://answers.ros.org/question/59212/issue-building-tf2_ros-on-osx/

William gravatar image William  ( 2013-04-17 07:21:38 -0600 )edit
1

Noted. Sorry, was trying to avoid spamming the main page. Also, thanks again.

Tom Moore gravatar image Tom Moore  ( 2013-04-17 07:31:15 -0600 )edit

Question Tools

Stats

Asked: 2013-04-16 03:22:08 -0600

Seen: 540 times

Last updated: Apr 17 '13