[ros-users] progress on ROS on OS X

Ken Conley kwc at willowgarage.com
Tue Aug 2 08:32:50 UTC 2011

On Tue, Aug 2, 2011 at 12:21 AM, Serge Stinckwich
<serge.stinckwich at gmail.com> wrote:
> On Fri, Jul 29, 2011 at 11:09 PM, Brian Gerkey <gerkey at willowgarage.com> wrote:
>> hi,
>> Thanks to Stefan Schaal, who gave me a hard time last month for ROS
>> having mediocre OS X support, especially given that I carry a MBPro, I
>> can report on some progress.
> Thank you Stefan&Brian for this effort !
>> Wim and I started bringing up devel_electric builds of stacks on OS X.
>>  The dashboard is here:
>>  http://build.willowgarage.com/view/os-x/
>> The stacks that we're currently building (or trying to build) are
>> listed below.  More stacks are being added all the time, so check the
>> dashboard above to see current status.
>> These builds are testing the Electric development branch of each stack
>> (often, but not always, trunk/default) against the Electric released
>> versions of the stacks it depends on.  The machine the builds are
>> running on is 10.6.x (Snow Leopard) and was bootstrapped according to
>> the standard install instructions
>> (http://www.ros.org/wiki/electric/Installation/OSX).
>> I did *not* follow wjwwood's suggestion to configure MacPorts as
>> strictly 32-bit (https://github.com/wjwwood/ros-osx/wiki).  As a
>> result, I expect that we'll have trouble with anything using wx (e.g.,
>> rviz).  In the future, we'll probably bring up a OS X 10.7 (Lion)
>> machine, which reportedly will resolve these issues.  In the meantime,
>> we can make progress on building all the non-wx stuff.
>> The goal of these builds is to keep track of what works, and to
>> prevent regressions.  A stack "works" when you can successfully
>> `rosmake --rosdep-install -t <stack>`, which means that all system
>> dependencies are correctly resolved, and everything builds and tests.
>> How you can help:
>> * If you're working on OS X, suggest stacks that you know to build
>> that should be added to the list.
>> * A lot of the work is in resolving system dependencies, in particular
>> for things aren't available from MacPorts.  In those cases, we need
>> "source rosdep" definitions.  Have a look at
>> https://kforge.ros.org/rosrelease/viewvc/sourcedeps/ for examples.
>> * If you get email from Hudson about an OS X failure, please have a
>> look at it.  If you can't figure out what went wrong, forward it to me
>> and we can dig into it together.
> I think also that this is important to have continuous builds just to
> check where are the problems
> I was wondering recently if using pkgsrc instead of macports could be
> a better solution for distributing ROS on OS X.
> Pkgsrc is the NetBSD Packages Collection and there is an OS X version:
> http://www.netbsd.org/docs/software/packages.html
> What is cool is that they also provide binary packages for several
> platforms (not sure about OS X) and a quaterly stable release (not
> daily updates like with Macports). There is more than 10000 packages
> currently.

In general, +1 to:

 * moving away from macports
 * quarterly release, lots of packages

It doesn't appear they provide binaries for OS X, though.

I have a strawman proposal, which is multi-pronged:

 1) migrate all Python* dependencies to use pip + the Apple Python
interpreter, which will take care of a small percentage of
 2) where possible, use MacOS-specific binaries for thirdparty
libraries (generalization of #1). This may not be possible to fully
 3) where available, use source rosdeps (e.g. eigen) provided by ROS.
These are generally dependencies that are not yet commonly available
via a package manager.
 4) either create new source rosdeps, or utilize something like pkgsrc
to provide remaining dependencies.

i.e. the lesson learned from MacPorts is use to as much pure OS X as
possible, and also do as much integration on top of fixed/known
targets as possible.  Obviously #2 and #4 require much more thought to
expand out.

- Ken

> Regards,
> --
> Serge Stinckwich
> UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam
> Every DSL ends up being Smalltalk
> http://doesnotunderstand.org/
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users

More information about the ros-users mailing list