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.

Author bio and support


Ruben Schade is a technical writer and IaaS engineer in Sydney, Australia who refers to himself in the third person in bios. Wait, not BIOS… my brain should be EFI by now.

The site is powered by Hugo, FreeBSD, and OpenZFS on OrionVM, everyone’s favourite cloud infrastructure provider.

If you found this post helpful or entertaining, you can shout me a coffee or buy some silly merch. Thanks!