Syncthing 1.3.0 from Homebrew on Catalina fails with "cannot execute binary file"

I’ve updated my Homebrew Syncthing installation and noticed that it can’t start. The log file is filled with:

/usr/local/opt/syncthing/bin/syncthing: /usr/local/opt/syncthing/bin/syncthing: cannot execute binary file

file doesn’t recognize the binary as an executable:

➜  ~ file /usr/local/opt/syncthing/bin/syncthing
/usr/local/opt/syncthing/bin/syncthing: data

Admittedly, I am running macOS Catalina Version 10.15 Beta (19A578c), however, the previous version was working fine until I updated it.

Reinstall doesn’t help either. (but at least you can see that it’s using Catalina bottle):

➜  ~ brew reinstall syncthing
Warning: You are using macOS 10.15.
We do not provide support for this pre-release version.
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew's GitHub,
Discourse, Twitter or IRC. You are responsible for resolving any issues you
experience while you are running this pre-release version.

==> Reinstalling syncthing
==> Downloading https://homebrew.bintray.com/bottles/syncthing-1.3.0.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/0c/0c9bd88c534ec1e454fa433214b2a0a817a7a12390bbcb044a2cb171a1e8ce32?__gda__=exp=1570081796~hmac=8dd2c13d71cbb3020c38bdbbc12430deaf111928b00815137a54c6c9a7155aaa
######################################################################## 100.0%
==> Pouring syncthing-1.3.0.catalina.bottle.tar.gz
==> Caveats
To have launchd start syncthing now and restart at login:
  brew services start syncthing
Or, if you don't want/need a background service you can just run:
  syncthing
==> Summary
🍺  /usr/local/Cellar/syncthing/1.3.0: 23 files, 20.6MB
➜  ~ syncthing
zsh: exec format error: syncthing

edit: I switched back to 1.2.2 which doesn’t have the Catalina bottle and it works, as I expected.

Homebrew binaries are built by them, not us. Can’t say what’s going on here. Their Mojave stuff seems fine.

They broke it somehow, executable is all nulls at the beginning. Syncthing itself works fine on Catalina though, just not this version from homebrew.

2 Likes