I keep forgetting this; MacOS binaries are not compatible with earlier MacOS versions. I built a bunch of Homebrew stuff on 10.9 and copied the binaries to a 10.8 machine. And get awesome errors like
dyld: lazy symbol binding failed: Symbol not found: ___strlcpy_chk Referenced from: /usr/homebrew/bin/rsync Expected in: /usr/lib/libSystem.B.dylib
Some sort of library / linker design choice, I guess. It’s as baffling as Apple’s decision not to allow static linking, because the kernel API may change so you must dynamically link to libc to mediate.
Homebrew has a way to build with –universal, but I think that’s more for 32 bit compatibility than minor OS revisions.