Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
ROS Kinetic on macOS Sierra 10.12

Troubleshooting

OpenCV3

  1. Qt5::Core (/usr/local/.//mkspecs/macx-clang does not exist)
CMake Error at /usr/local/lib/cmake/Qt5Core/Qt5CoreConfig.cmake:17 (message):
  The imported target "Qt5::Core" references the file

     "/usr/local/.//mkspecs/macx-clang"

  but this file does not exist.

Workaround:

$ brew link --force qt5
$ ln -s /usr/local/Cellar/qt5/5.6.0/mkspecs /usr/local/mkspecs
$ ln -s /usr/local/Cellar/qt5/5.6.0/plugins /usr/local/plugins
  1. QTKit
src/opencv3/modules/videoio/src/cap_qtkit.mm:46:9: fatal error: 'QTKit/QTKit.h' file not found

Workaround: Update OpenCV.

Obtain new version with a script from ROS Wiki page on OpenCV3, then replace original src/opencv3 folder with the contents of the generated opencv.tar.gz, but keep the package.xml.

In case the above script is not available anymore, here is the copy: https://gist.github.com/bgromov/d8c36bc268c8e8bbf65f75dd2854d711

rqt_gui_cpp (and maybe nodelet_tutorial_math)

Check this issue on GitHub.

Solution 1:

  1. Remove build files:
$ rm -rf build_isolated/rqt_gui_cpp
$ rm -rf devel_isolated/rqt_gui_cpp
  1. Rebuild package with -DCMAKE_FIND_FRAMEWORK=LAST flag:
$ ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_FRAMEWORK=LAST --pkg=rqt_gui_cpp

Solution 2 (if the first one did not help):

Have a look at this comment. In essence, the problem is caused by inclusion of the 'wrong' header, another non-system string.h somewhere via uuid/uuid.h.

Install ossp-uuid with brew install ossp-uuid and modify CMake src/cmake_modules/cmake/Modules/FindUUID.cmake file.

Replace:

find_path(UUID_INCLUDE_DIRS uuid/uuid.h)

with:

find_path(UUID_INCLUDE_DIRS ossp/uuid.h)

Note: It might be a good idea to remove whole directories of build_isolated and devel_isolated before if the issues persist.

RViz

  1. Segfault on start:

Check this issue. In short: add #define QT_MAC_USE_COCOA to rviz/src/rviz/ogre_helpers/render_system.cpp somewhere at the beginning of the file, e.g. near or instead of #include <QtCore/qglobal.h>.

  1. Ogre exception (Cannot find serializer implementation for current version):

Follow this answer:

cd `rospack find rviz`/ogre_media/models/
curl https://raw.githubusercontent.com/ros-visualization/rviz/hydro-devel/ogre_media/models/rviz_cone.mesh > rviz_cone.mesh
curl https://raw.githubusercontent.com/ros-visualization/rviz/hydro-devel/ogre_media/models/rviz_cube.mesh > rviz_cube.mesh
curl https://raw.githubusercontent.com/ros-visualization/rviz/hydro-devel/ogre_media/models/rviz_cylinder.mesh > rviz_cylinder.mesh
curl https://raw.githubusercontent.com/ros-visualization/rviz/hydro-devel/ogre_media/models/rviz_sphere.mesh > rviz_sphere.mesh
  1. 3D view occupying just 1/4 of the screen:

Check the following issue. In short: update Ogre to v1.9 and update RViz to latest version. The following versions proved to work fine together: Qt 5.8, Ogre 1.9, RViz 1.12.10.

@scpeters

This comment has been minimized.

Copy link

@scpeters scpeters commented Mar 3, 2017

I think another option is to export CMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}:/usr/local/opt/qt5

@jeasinema

This comment has been minimized.

Copy link

@jeasinema jeasinema commented Apr 18, 2017

Thanks for your note. From my side(OS X 10.10.5 when build ROS Kinetic), I should also remove the build_isolated/nodelet, build_isolated/nodelet_core, devel_isolated/nodelet, devel_isolated/nodelet_core before to make the fix for nodelet_tutorial_math package work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.