Installing ROS on Mac Sierra: a report

asked 2017-07-25 07:42:27 -0500

pitosalas gravatar image

This is not a question so maybe someone will yell at me because it is supposed to be on the discourse site. But the distinction between the two is vague to me so here goes. I mean this as a public service announcement because I've been posting lots of questions on this forum and I thought I owed folks a report on my progress.

For the last week on and off I have been trying to get ROS (kinetic) to run on Mac (a totally up to date install of Sierra). (I have extensive experience as a developer on Mac and pretty solid experience with Linux)

  • Following the unsupported Mac install page in the wiki came close to working about a dozen times until I gave up. There are so many mysterious errors that propped up, many of them resolved by messing around with packages (ROS, Linux and Python) but when it was all done it still doesn't work. The major early breakthrough was to make sure that there was only a single Python. The one I ended up keeping was installed by brew. The built in Python seemed sometimes to mess things up so I disabled it. I say it "seemed" because I am not 100% sure of that diagnosis.

  • I tried following this gist from @lubilik which seemed to work better but still in the end failed with mysterious errors.

  • Giving up for now on native, I decided to go to VMWare running Linux on Mac. That has worked very nicely. I used the Turtlebot3 install instructions as that is my robot and every step worked and I think I have a good install now. Still even that log shows lots of scary looking warnings and errors as the text flies by. The drawback is performance. With a vm I am getting only a fraction of the speed my computer can provide. It is not an ideal solution but it is acceptable for now.

  • I am considering the more radical approach of dual booting my Mac. But I am reluctant to root around my primary computer's disk, boot manager and all that. It's a bit more risk than I am comfortable with right now.

That's what I have for now. I welcome any follow up questions if that seems useful!

edit retag flag offensive close merge delete