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

Revision history [back]

click to hide/show revision 1
initial version

For this particular octomap there is a fix committed upstream that should allow compilation with libc++ with Mavericks: https://github.com/OctoMap/octomap/pull/55. Due to the way ROS packages things, mergeing this change in to the ROS octomap source in your hydro workspace involves a bit of hand work on the command line:

cd <path to your hydro workspace>/src/octomap
git remote upstream git@github.com:OctoMap/octomap.git
git fetch upstream
git checkout release/hydro/octomap/1.6.1-0
git cherry-pick b7aec9182e102da32f0f210197a55b827e0ae894
git cherry-pick 8a9722d0f479dcde680dc689e0d071e48bb32e99

Rebuild your catkin workspace and the octomap errors should go away. Note that there are still many other broken packages with libc++ on Mavericks.

For this particular octomap problem there is a fix committed upstream that should allow compilation with libc++ with Mavericks: https://github.com/OctoMap/octomap/pull/55. Due to the way ROS packages things, mergeing this change in to the ROS octomap source in your hydro workspace involves a bit of hand work on the command line:

cd <path to your hydro workspace>/src/octomap
git remote upstream git@github.com:OctoMap/octomap.git
git fetch upstream
git checkout release/hydro/octomap/1.6.1-0
git cherry-pick b7aec9182e102da32f0f210197a55b827e0ae894
git cherry-pick 8a9722d0f479dcde680dc689e0d071e48bb32e99

Rebuild your catkin workspace and the octomap errors should go away. Note that there are still many other broken packages with libc++ on Mavericks.

Octomap Fix

For this particular octomap problem there is a fix committed upstream that should allow compilation with libc++ with Mavericks: https://github.com/OctoMap/octomap/pull/55. Due to the way ROS packages things, mergeing this change in to the ROS octomap source in your hydro workspace involves a bit of hand work on the command line:

cd <path to your hydro workspace>/src/octomap
git remote upstream git@github.com:OctoMap/octomap.git
git fetch upstream
git checkout release/hydro/octomap/1.6.1-0
git cherry-pick b7aec9182e102da32f0f210197a55b827e0ae894
git cherry-pick 8a9722d0f479dcde680dc689e0d071e48bb32e99

Rebuild your catkin workspace and the octomap errors should go away. Note

EDIT: In meantime I have been able to build the rest of the ROS desktop packages on Mavericks, but it involves a laundry list of small changes to several other ROS packages. Prerequisite for any of the following steps is understanding how to checkout Github pull requests locally. The rest of these fixes are currently involve API breaking changes and are under review. I make no guarantees about their correctness, only that there are still many other broken they should at least build on Mavericks. For all of the commands below I always your current working directory is your ROS workspace root (NOT src subdirectory).

OROCOS KDL Fix

There is a problem with OROCOS KDL API that is incompatible with libc++, discussed in more detail here. You will need to checkout a currently open pull request to fix the issue.

cd src/orocos_kdl
git remote add upstream git@github.com:orocos/orocos_kinematics_dynamics.git
vim .git/config # Add 'fetch = +refs/pull/*/head:refs/remotes/origin/pr/* ' to [remote "upstream"]
git fetch upstream
git checkout pr/4
cd ../.. && rm -r build_isolated/orocos_kdl

You will also need to checkout several dependent packages from source and pull in active pull requests. For the necessary robot model changes:

cd src && rm -r collada_parser collada_urdf joint_state_publisher kdl_parser resource_retriever robot_model urdf urdf_parser_plugin robot_state_publisher
git clone git@github.com:ros/robot_model.git
cd robot_model
vim .git/config # Add 'fetch = +refs/pull/*/head:refs/remotes/origin/pr/* ' to [remote "origin"]
git fetch origin
git checkout pr/43
cd ../../build_isolated && rm -r collada_parser collada_urdf joint_state_publisher kdl_parser resource_retriever robot_model urdf urdf_parser_plugin robot_state_publisher

for the necessary robot_state_publisher changes:

cd src && rm -r robot_state_publisher
git clone git@github.com:jensenb/robot_state_publisher.git
cd robot_state_publisher
vim .git/config # Add 'fetch = +refs/pull/*/head:refs/remotes/origin/pr/* ' to [remote "origin"]
git fetch origin
git checkout pr/5
cd ../../build_isolated && rm -r robot_state_publisher

OpenCV and Cuda

Currently OpenCV has issues when building with libc++ on Mavericks.

Cuda enabled, so you will have to disable it:

cd build_isolated/opencv/install
ccmake
# turn off the 'WITH_CUDA' flag and generate

ROSCPP Message Traits

There is a problem with the roscpp message forward declarations that is discussed in more detail here. The workaround:

cd src/roscpp_traits
curl -o include/ros/message_forward.h https://raw.github.com/ros/roscpp_core/e4dff32c8847f7e9e16b3aecebbbbaf7d84daf5a/roscpp_traits/include/ros/message_forward.h

Octomap Fix

For this particular octomap problem there is a fix committed upstream that should allow compilation with libc++ with Mavericks: https://github.com/OctoMap/octomap/pull/55. Due to the way ROS packages things, mergeing this change in to the ROS octomap source in your hydro workspace involves a bit of hand work on the command line:

cd <path to your hydro workspace>/src/octomap
git remote upstream git@github.com:OctoMap/octomap.git
git fetch upstream
git checkout release/hydro/octomap/1.6.1-0
git cherry-pick b7aec9182e102da32f0f210197a55b827e0ae894
git cherry-pick 8a9722d0f479dcde680dc689e0d071e48bb32e99

Rebuild your catkin workspace and the octomap errors should go away.

EDIT: In meantime I have been able to build the rest of the ROS desktop packages on Mavericks, but it involves a laundry list of small changes to several other ROS packages. Prerequisite for any of the following steps is understanding how to checkout Github pull requests locally. The rest of these fixes are currently involve API breaking changes and are under review. I make no guarantees about their correctness, only that they should at least build on Mavericks. For all of the commands below I always your current working directory is your ROS workspace root (NOT src subdirectory).

OROCOS KDL Fix

There is a problem with OROCOS KDL API that is incompatible with libc++, discussed in more detail here. You will need to checkout a currently open pull request to fix the issue.

cd src/orocos_kdl
git remote add upstream git@github.com:orocos/orocos_kinematics_dynamics.git
vim .git/config # Add 'fetch = +refs/pull/*/head:refs/remotes/origin/pr/* ' to [remote "upstream"]
git fetch upstream
git checkout pr/4
# it is not a problem if the following step fails
cd ../.. && rm -r build_isolated/orocos_kdl
cd ..

You will also need to checkout several dependent packages from source and pull in active pull requests. For the necessary robot model changes:

cd src && rm -r collada_parser collada_urdf joint_state_publisher kdl_parser resource_retriever robot_model urdf urdf_parser_plugin robot_state_publisher
git clone git@github.com:ros/robot_model.git
cd robot_model
vim .git/config # Add 'fetch = +refs/pull/*/head:refs/remotes/origin/pr/* ' to [remote "origin"]
git fetch origin
git checkout pr/43
# it is not a problem if the following step fails
cd ../../build_isolated && rm -r collada_parser collada_urdf joint_state_publisher kdl_parser resource_retriever robot_model urdf urdf_parser_plugin robot_state_publisher
cd ..

for the necessary robot_state_publisher changes:

cd src && rm -r robot_state_publisher
git clone git@github.com:jensenb/robot_state_publisher.git
git@github.com:ros/robot_state_publisher.git
cd robot_state_publisher
vim .git/config # Add 'fetch = +refs/pull/*/head:refs/remotes/origin/pr/* ' to [remote "origin"]
git fetch origin
git checkout pr/5
# it is not a problem if the following step fails
cd ../../build_isolated && rm -r robot_state_publisher
cd ..

OpenCV and Cuda

Currently OpenCV has issues when building with Cuda enabled, so you will have to disable it:

cd build_isolated/opencv/install
ccmake
# turn off the 'WITH_CUDA' flag and generate

ROSCPP Message Traits

There is a problem with the roscpp message forward declarations that is discussed in more detail here. The workaround:

cd src/roscpp_traits
curl -o include/ros/message_forward.h https://raw.github.com/ros/roscpp_core/e4dff32c8847f7e9e16b3aecebbbbaf7d84daf5a/roscpp_traits/include/ros/message_forward.h

EDIT 2: Corrected the robot_state_publisher github URL and clarified some of the build steps.

Edit 3: Currently required workarounds

Some of the workarounds listed in this answer are no longer required as the changes have been merged into hydro. Below are the current workarounds still required to get ROS hydro working on Mavericks, suitable to both git and tar based rosinstall distributions.

Octomap OROCOS KDL Fix

For this particular octomap There is a problem there is a fix committed upstream with OROCOS KDL API that should allow compilation is incompatible with libc++ with Mavericks: https://github.com/OctoMap/octomap/pull/55. Due to the way ROS packages things, mergeing this change and clang, discussed in to the ROS octomap more detail in PR 4 and PR 19. You will need to patch KDL source in your hydro workspace involves a bit using both of hand work on the command line:these pull requests.

cd <path to your hydro workspace>/src/octomap
git remote upstream git@github.com:OctoMap/octomap.git
git fetch upstream
git checkout release/hydro/octomap/1.6.1-0
git cherry-pick b7aec9182e102da32f0f210197a55b827e0ae894
git cherry-pick 8a9722d0f479dcde680dc689e0d071e48bb32e99
<ROS WORKSPACE DIR>/src
curl https://github.com/orocos/orocos_kinematics_dynamics/pull/4.patch | patch -p1
curl https://github.com/orocos/orocos_kinematics_dynamics/pull/19.patch | patch -p1
# it is not a problem if the following step fails
cd .. && rm -r build_isolated/orocos_kdl

Rebuild your catkin workspace and the octomap errors should go away.

EDIT: In meantime I have been able to build the rest of the ROS desktop packages on Mavericks, but it involves a laundry list of small changes to You will also need to patch several other dependent ROS packages. For the necessary robot model changes:

cd <ROS WORKSPACE DIR>/src
curl https://github.com/ros/robot_model/pull/43.patch | patch -p1
# it is not a problem if the following step fails
cd .. && rm -r build_isolated/kdl_parser

for the necessary robot_state_publisher changes:

cd <ROS WORKSPACE DIR>/src/robot_state_publisher
curl https://github.com/ros/robot_state_publisher/pull/5.patch | patch -p1
# it is not a problem if the following step fails
cd ../.. && rm -r build_isolated /robot_state_publisher

OpenCV and Cuda

Currently OpenCV has issues when building with Cuda enabled, so you will have to disable it:

cd build_isolated/opencv/install
ccmake
# turn off the 'WITH_CUDA' flag and generate

Outdated workarounds no longer necessary

These workarounds are no longer necessary but I am keeping them here for historical reasons in case someone has an older workspace and doesn't want to update.

Prerequisite for any of the following steps is understanding how to checkout Github pull requests locally. The rest of these fixes are currently involve API breaking changes and are under review. I make no guarantees about their correctness, only that they should at least build on Mavericks. For all of the commands below I always your current working directory is your ROS workspace root (NOT src subdirectory).

OROCOS KDL Octomap Fix

There For this particular octomap problem there is a problem fix committed upstream that should allow compilation with OROCOS KDL API that is incompatible libc++ with libc++, discussed Mavericks: https://github.com/OctoMap/octomap/pull/55. Due to the way ROS packages things, mergeing this change in more detail here. You will need to checkout to the ROS octomap source in your hydro workspace involves a currently open pull request to fix the issue.bit of hand work on the command line:

cd src/orocos_kdl
<path to your hydro workspace>/src/octomap
git remote add upstream git@github.com:orocos/orocos_kinematics_dynamics.git
vim .git/config # Add 'fetch = +refs/pull/*/head:refs/remotes/origin/pr/* ' to [remote "upstream"]
git@github.com:OctoMap/octomap.git
git fetch upstream
git checkout pr/4
# it is not a problem if the following step fails
cd ../.. && rm -r build_isolated/orocos_kdl
cd ..
release/hydro/octomap/1.6.1-0
git cherry-pick b7aec9182e102da32f0f210197a55b827e0ae894
git cherry-pick 8a9722d0f479dcde680dc689e0d071e48bb32e99

You will also need to checkout several dependent packages from source and pull in active pull requests. For the necessary robot model changes:

cd src && rm -r collada_parser collada_urdf joint_state_publisher kdl_parser resource_retriever robot_model urdf urdf_parser_plugin robot_state_publisher
git clone git@github.com:ros/robot_model.git
cd robot_model
vim .git/config # Add 'fetch = +refs/pull/*/head:refs/remotes/origin/pr/* ' to [remote "origin"]
git fetch origin
git checkout pr/43
# it is not a problem if the following step fails
cd ../../build_isolated && rm -r collada_parser collada_urdf joint_state_publisher kdl_parser resource_retriever robot_model urdf urdf_parser_plugin robot_state_publisher
cd ..

for the necessary robot_state_publisher changes:

cd src && rm -r robot_state_publisher
git clone git@github.com:ros/robot_state_publisher.git
cd robot_state_publisher
vim .git/config # Add 'fetch = +refs/pull/*/head:refs/remotes/origin/pr/* ' to [remote "origin"]
git fetch origin
git checkout pr/5
# it is not a problem if the following step fails
cd ../../build_isolated && rm -r robot_state_publisher
cd ..

OpenCV and Cuda

Currently OpenCV has issues when building with Cuda enabled, so you will have to disable it:

cd build_isolated/opencv/install
ccmake
# turn off the 'WITH_CUDA' flag and generate
Rebuild your catkin workspace and the octomap errors should go away.

ROSCPP Message Traits

There is a problem with the roscpp message forward declarations that is discussed in more detail here. The workaround:

cd src/roscpp_traits
curl -o include/ros/message_forward.h https://raw.github.com/ros/roscpp_core/e4dff32c8847f7e9e16b3aecebbbbaf7d84daf5a/roscpp_traits/include/ros/message_forward.h

EDIT Edit 1: Completed the required workarounds

Edit 2: Corrected the robot_state_publisher github URL and clarified some of the build steps.

Edit 3: Update the currently required workarounds and switch to patch based package updates suitable for both the git and tar rosinstall distribution methods.

Edit 3: Currently required workarounds

Some of the workarounds listed in this answer are no longer required as the changes have been merged into hydro. Below are the current workarounds still required to get ROS hydro working on Mavericks, suitable to both git and tar based rosinstall distributions.

OROCOS KDL Fix

There is a problem with OROCOS KDL API that is incompatible with libc++ and clang, discussed in more detail in PR 4 and PR 19. You will need to patch KDL source using both of these pull requests.

cd <ROS WORKSPACE DIR>/src
DIR>/src/orocos_kdl
curl https://github.com/orocos/orocos_kinematics_dynamics/pull/4.patch | patch -p1
curl https://github.com/orocos/orocos_kinematics_dynamics/pull/19.patch | patch -p1
# it is not a problem if the following step fails
cd .. && rm -r build_isolated/orocos_kdl

You will also need to patch several dependent ROS packages. For the necessary robot model changes:

cd <ROS WORKSPACE DIR>/src
DIR>/src/robot_model
curl https://github.com/ros/robot_model/pull/43.patch | patch -p1
# it is not a problem if the following step fails
cd .. && rm -r build_isolated/kdl_parser

for the necessary robot_state_publisher changes:

cd <ROS WORKSPACE DIR>/src/robot_state_publisher
curl https://github.com/ros/robot_state_publisher/pull/5.patch | patch -p1
# it is not a problem if the following step fails
cd ../.. && rm -r build_isolated /robot_state_publisher

OpenCV and Cuda

Currently OpenCV has issues when building with Cuda enabled, so you will have to disable it:

cd build_isolated/opencv/install
ccmake
# turn off the 'WITH_CUDA' flag and generate

Outdated workarounds no longer necessary

These workarounds are no longer necessary but I am keeping them here for historical reasons in case someone has an older workspace and doesn't want to update.

Prerequisite for any of the following steps is understanding how to checkout Github pull requests locally. The rest of these fixes are currently involve API breaking changes and are under review. I make no guarantees about their correctness, only that they should at least build on Mavericks. For all of the commands below I always your current working directory is your ROS workspace root (NOT src subdirectory).

Octomap Fix

For this particular octomap problem there is a fix committed upstream that should allow compilation with libc++ with Mavericks: https://github.com/OctoMap/octomap/pull/55. Due to the way ROS packages things, mergeing this change in to the ROS octomap source in your hydro workspace involves a bit of hand work on the command line:

cd <path to your hydro workspace>/src/octomap
git remote upstream git@github.com:OctoMap/octomap.git
git fetch upstream
git checkout release/hydro/octomap/1.6.1-0
git cherry-pick b7aec9182e102da32f0f210197a55b827e0ae894
git cherry-pick 8a9722d0f479dcde680dc689e0d071e48bb32e99

Rebuild your catkin workspace and the octomap errors should go away.

ROSCPP Message Traits

There is a problem with the roscpp message forward declarations that is discussed in more detail here. The workaround:

cd src/roscpp_traits
curl -o include/ros/message_forward.h https://raw.github.com/ros/roscpp_core/e4dff32c8847f7e9e16b3aecebbbbaf7d84daf5a/roscpp_traits/include/ros/message_forward.h

Edit 1: Completed the required workarounds

Edit 2: Corrected the robot_state_publisher github URL and clarified some of the build steps.

Edit 3: Update the currently required workarounds and switch to patch based package updates suitable for both the git and tar rosinstall distribution methods.

click to hide/show revision 7
No.7 Revision

Edit 3: Currently required workarounds

Some of the workarounds listed in this answer are no longer required as the changes have been merged into hydro. Below are the current workarounds still required to get ROS hydro working on Mavericks, suitable to both git and tar based rosinstall distributions.

OROCOS KDL Fix

There is a problem with OROCOS KDL API that is incompatible with libc++ and clang, discussed in more detail in PR 4 and PR 19. You will need to patch KDL source using both of these pull requests.

cd <ROS WORKSPACE DIR>/src/orocos_kdl
DIR>/src/orocos_kinematics_dynamics
curl https://github.com/orocos/orocos_kinematics_dynamics/pull/4.patch | patch -p1
curl https://github.com/orocos/orocos_kinematics_dynamics/pull/19.patch | patch -p1
# it is not a problem if the following step fails
cd .. && rm -r build_isolated/orocos_kdl

You will also need to patch several dependent ROS packages. For the necessary robot model changes:

cd <ROS WORKSPACE DIR>/src/robot_model
curl https://github.com/ros/robot_model/pull/43.patch | patch -p1
# it is not a problem if the following step fails
cd .. && rm -r build_isolated/kdl_parser

for the necessary robot_state_publisher changes:

cd <ROS WORKSPACE DIR>/src/robot_state_publisher
curl https://github.com/ros/robot_state_publisher/pull/5.patch | patch -p1
# it is not a problem if the following step fails
cd ../.. && rm -r build_isolated /robot_state_publisher

OpenCV and Cuda

Currently OpenCV has issues when building with Cuda enabled, so you will have to disable it:

cd build_isolated/opencv/install
ccmake
# turn off the 'WITH_CUDA' flag and generate

Outdated workarounds no longer necessary

These workarounds are no longer necessary but I am keeping them here for historical reasons in case someone has an older workspace and doesn't want to update.

Prerequisite for any of the following steps is understanding how to checkout Github pull requests locally. The rest of these fixes are currently involve API breaking changes and are under review. I make no guarantees about their correctness, only that they should at least build on Mavericks. For all of the commands below I always your current working directory is your ROS workspace root (NOT src subdirectory).

Octomap Fix

For this particular octomap problem there is a fix committed upstream that should allow compilation with libc++ with Mavericks: https://github.com/OctoMap/octomap/pull/55. Due to the way ROS packages things, mergeing this change in to the ROS octomap source in your hydro workspace involves a bit of hand work on the command line:

cd <path to your hydro workspace>/src/octomap
git remote upstream git@github.com:OctoMap/octomap.git
git fetch upstream
git checkout release/hydro/octomap/1.6.1-0
git cherry-pick b7aec9182e102da32f0f210197a55b827e0ae894
git cherry-pick 8a9722d0f479dcde680dc689e0d071e48bb32e99

Rebuild your catkin workspace and the octomap errors should go away.

ROSCPP Message Traits

There is a problem with the roscpp message forward declarations that is discussed in more detail here. The workaround:

cd src/roscpp_traits
curl -o include/ros/message_forward.h https://raw.github.com/ros/roscpp_core/e4dff32c8847f7e9e16b3aecebbbbaf7d84daf5a/roscpp_traits/include/ros/message_forward.h

Edit 1: Completed the required workarounds

Edit 2: Corrected the robot_state_publisher github URL and clarified some of the build steps.

Edit 3: Update the currently required workarounds and switch to patch based package updates suitable for both the git and tar rosinstall distribution methods.

Edit 3: Currently required workarounds5: These workarounds are no longer required. They are kept here purely for reference.

Some of the workarounds listed in this answer are no longer required as the changes have been merged into hydro. Below are the current workarounds still required to get ROS hydro working on Mavericks, suitable to both git and tar based rosinstall distributions.

OROCOS KDL Fix

There is a problem with OROCOS KDL API that is incompatible with libc++ and clang, discussed in more detail in PR 4 and PR 19. You will need to patch KDL source using both of these pull requests.

cd <ROS WORKSPACE DIR>/src/orocos_kinematics_dynamics
curl https://github.com/orocos/orocos_kinematics_dynamics/pull/4.patch | patch -p1
curl https://github.com/orocos/orocos_kinematics_dynamics/pull/19.patch | patch -p1
# it is not a problem if the following step fails
cd .. && rm -r build_isolated/orocos_kdl

You will also need to patch several dependent ROS packages. For the necessary robot model changes:

cd <ROS WORKSPACE DIR>/src/robot_model
curl https://github.com/ros/robot_model/pull/43.patch | patch -p1
# it is not a problem if the following step fails
cd .. && rm -r build_isolated/kdl_parser

for the necessary robot_state_publisher changes:

cd <ROS WORKSPACE DIR>/src/robot_state_publisher
curl https://github.com/ros/robot_state_publisher/pull/5.patch | patch -p1
# it is not a problem if the following step fails
cd ../.. && rm -r build_isolated /robot_state_publisher

OpenCV and Cuda

Currently OpenCV has issues when building with Cuda enabled, so you will have to disable it:

cd build_isolated/opencv/install
ccmake
# turn off the 'WITH_CUDA' flag and generate

Outdated workarounds no longer necessary

These workarounds are no longer necessary but I am keeping them here for historical reasons in case someone has an older workspace and doesn't want to update.

Prerequisite for any of the following steps is understanding how to checkout Github pull requests locally. The rest of these fixes are currently involve API breaking changes and are under review. I make no guarantees about their correctness, only that they should at least build on Mavericks. For all of the commands below I always your current working directory is your ROS workspace root (NOT src subdirectory).

Octomap Fix

For this particular octomap problem there is a fix committed upstream that should allow compilation with libc++ with Mavericks: https://github.com/OctoMap/octomap/pull/55. Due to the way ROS packages things, mergeing this change in to the ROS octomap source in your hydro workspace involves a bit of hand work on the command line:

cd <path to your hydro workspace>/src/octomap
git remote upstream git@github.com:OctoMap/octomap.git
git fetch upstream
git checkout release/hydro/octomap/1.6.1-0
git cherry-pick b7aec9182e102da32f0f210197a55b827e0ae894
git cherry-pick 8a9722d0f479dcde680dc689e0d071e48bb32e99

Rebuild your catkin workspace and the octomap errors should go away.

ROSCPP Message Traits

There is a problem with the roscpp message forward declarations that is discussed in more detail here. The workaround:

cd src/roscpp_traits
curl -o include/ros/message_forward.h https://raw.github.com/ros/roscpp_core/e4dff32c8847f7e9e16b3aecebbbbaf7d84daf5a/roscpp_traits/include/ros/message_forward.h

Edit 1: Completed the required workarounds

Edit 2: Corrected the robot_state_publisher github URL and clarified some of the build steps.

Edit 3: Update the currently required workarounds and switch to patch based package updates suitable for both the git and tar rosinstall distribution methods.

Edit 4: Updated steps.