Sequel-ace: SPMySQL framework libraries linked by Xcode project are all only built for x86

Created on 15 Oct 2020  路  17Comments  路  Source: Sequel-Ace/Sequel-Ace

These three libraries need to be replaced with universal binaries that support ARM and X86. We cannot build for Apple Silicon until these three libraries are updated with universal compiles.

  • libcrypto.1.1.dylib
  • libmysqlclient.a
  • libssl.1.1.dylib
Apple Silicon Highest Priority

All 17 comments

Maybe useful:

Maybe I'll have some time at weekend to test. But not sure now :(
Upd: fixed link for libssl

I'm gonna take a stab at openssl, since I'm in build hell right now anyway

Oh lol, just noticed my link for SSL is for i386 -> amd64 transition. Sorry.

Not having any luck so far. I need to install the latest Big Sur beta, and try it there. Won't be able to do that until Sunday tho.

Seems like, after adding the new configuration for ARM Macs, this:

./Configure darwin64-arm64-cc --prefix="/tmp/openssl-arm" no-asm
make
make install

builds both archs. No need for the lipo steps

EDIT: Hold on ... we need the dylibs not the statics...

First attempt following instructions in the link.

libcrypto.1.1.dylib and libssl.1.1.dylib

dylibs.tar.gz

First attempt following instructions in the link.

libcrypto.1.1.dylib and libssl.1.1.dylib

dylibs.tar.gz

@jamesstout AWESOME! Those both aren't throwing any warnings on Apple Silicon compile! Only one left is the libmysql one
Opened a PR to switch the two you built #412

Correction, libmysqlclient.a might not be done yet so leaving issue open

Looks like ShortcutRecorder is also not build universal. So ShortcutRecorder.framework and libmysqlclient.a are the two blocking ARM native support ATM

Looks like ShortcutRecorder is also not build universal. So ShortcutRecorder.framework and libmysqlclient.a are the two blocking ARM native support ATM

Is Sequel Ace using https://github.com/JanX2/ShortcutRecorder?

If so, there's a forked version that's been updated more recently here:
https://github.com/Kentzo/ShortcutRecorder

I don't know how it's determined, but according to this page, version 3.3.0 supports macOS (ARM):
https://swiftpackageindex.com/Kentzo/ShortcutRecorder

The license file links to this one - https://code.google.com/archive/p/shortcutrecorder/
Following the link you sent does appear to be the same structurally (SRRecorderControl class is crucial) and cites the same original creators!

It looks like the only thing that uses it is the bundle editor, so it may be worth switching to some other implementation that may be easier to support moving forward

Looks like the Kentzo one includes a CocoaPod. So if we want to keep implementation as is, probably simplest thing is to add the pod to the main-3_0_0 branch (as a PR), remove the existing static framework, and make any migration changes needed. Possibly just a drop-in.
https://github.com/Kentzo/ShortcutRecorder

Possibly just a drop-in.

Tried it, it's a bit more tricky than expected...

I've almost got libmysqlclient.a building for ARM.

It needs:

  • [x ] libsssl
  • [x ] libcrypto
  • [] libevent

I couldn't get libevent to build for ARM on my non-ARM Mac. The Homebrew people say it builds but I can't find the formula.

Is anyone else looking at this?

I've almost got libmysqlclient.a building for ARM.

It needs:

  • [x ] libsssl
  • [x ] libcrypto
  • [] libevent

I couldn't get libevent to build for ARM on my non-ARM Mac. The Homebrew people say it builds but I can't find the formula.

Is anyone else looking at this?

Awesome progress, @jamesstout! I don't think anyone else is looking at this, and I'm away from my ARM Mac and primary computer for the next couple weeks for medical reasons so can't provide much ARM-mac assistance, but in ~mid December I will be able to test things. And I believe @Kaspik has access to an ARM Mac now!

I'm almost done compiling libmysql too as the acript is still in repo and just needs to add arch arm64... 馃槄 I do have M1 MacBook already, so if you have some branches, just DM me what you need :)

Aaaaand here we are, Apple Silicon / M1 native! 馃帀

Was this page helpful?
0 / 5 - 0 ratings