rsync 3.1.0 and OS X extended attributes

rsync's rather fabulous retro logo

With rsync 3.1.0, we got several new features, performance improvements and broken extended attribute syncing in OS X. Using the -X flag, we get this:

rsync error: protocol incompatibility (code 2) at io.c(599) [sender=3.1.0]
rsync: [sender] write error: Broken pipe (32)

Patches have been commited, though the success rate of using them seems to be mixed. Given how critical rsync is to my “workflow”, I’m sticking with 3.0.9.

If you’re on Homebrew, Keithbsmiley identified the last brew before 3.1.0:

% brew install

Alternatively, you can build and install the old fashioned way. As an example, I build my own material under /opt:

% cd /opt/src
% curl -O ""
% tar xzvf rsync-3.0.9.tar.gz
% cd rsync-3.0.9
% ./configure --prefix=/opt
% sudo make install clean


The early pre–releases of 3.1.1 indicate they’ve fixed the issue. I’ve decided to skip 3.1.0 entirely and wait for this release.


This is one of about 5000 posts on Rubénerd. View the home page for the latest, or related posts also tagged with:

If you liked this post, feel free to buy me a coffee, leave me a comment on Twitter, or email me at Thanks :).