32 bit macOS builds in 0.14.53 and forward


(Jakob Borg) #1

As of the latest Xcode/SDK it’s no longer possible to link 32 bit binaries;

jb@kvin:~/g/s/g/s/syncthing $ CGO_ENABLED=1 go run build.go -goarch 386 build
runtime/cgo
# runtime/cgo
ld: warning: The i386 architecture is deprecated for macOS (remove from the Xcode build setting: ARCHS)
ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib/libpthread.tbd, missing required architecture i386 in file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib/libpthread.tbd
ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib/libSystem.tbd, missing required architecture i386 in file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib/libSystem.tbd
Undefined symbols for architecture i386:
  "___stack_chk_fail", referenced from:
      _x_cgo_init in _x004.o
      __cgo_sys_thread_start in _x004.o
  "___stack_chk_guard", referenced from:
      _x_cgo_init in _x004.o
      __cgo_sys_thread_start in _x004.o
... lots more symbols here

I’ve changed the build server to not use CGO. As a result, at least, file system watching no longer works. DNS and HTTPS appears to work, but I wouldn’t be surprised if there’s hidden wonkyness (the resolver and CA bundle are things that have historically required CGO).

So if the next release doesn’t work well, y’all know why.

Well, all twelve of you on darwin-386, that is.


(Bob Hope) #2

Maybe a few more:

image

image

Of:

image

Source: Link


(Jakob Borg) #3

Yeah… Of course the users with usage reporting on is a fraction of the total, we’ve estimated ~ 25% before. And I don’t know the cause for those downloads, but the total number of downloads is off by about a magnitude compared to any relevant measure of the number of active users.