-
Couldn't load subscription status.
- Fork 3
Description
Initial notes from Sean:
When Arm64 mac runners became the default for GitHub it seems it broke our desktop deploys to MacOS by having only Arm64 arch compatible executables get output as part of the release process. This can be fixed by changing the build options in the package.json to target x86 as a separate deploy or by building a universal version. However, this is where the trouble really begins. It seems like for some reason the universal and x86 builds that build on GitHub don't actually produce an x86 compatible executable, instead I get this error:
This seems to be an error many others have gotten as well and the routes and various fixes they perform are varied. What is more annoying is it seems the File Upload App does exactly what we do on my working branch but without the error (see here.
Related Issues
- Can't reconcile two non-macho files electron/universal#41
- "Can't reconcile two non-macho files" after upgrading to 24.x.x electron-userland/electron-builder#7512
- fix: regenerate schema.json for
x64ArchFileselectron-userland/electron-builder#6983 - Building for arch x64 mac on a arm64 mac electron-userland/electron-builder#6433
Things I tried to so far:
- Upgrading electron & electron-builder
- Upgrading electron-builder to a middle ground version like 22
- Setting
mergeAsarto false - Setting the node modules included to exclude certain extensions
(various combos of above, not to say any of these should necessarily be ruled out since it may require the right combo)
Update: Notes from Anya
I eventually narrowed down the issue to DuckDB. When I remove duckdb as a dependency completely (and noop all duckdb functionality) the universal builds work for both arch. I think they've fixed the mac incompatibility issue in 1.0.0 (we're using 0.8.x) BUT when I try to upgrade to 1.0.0, I get a whole bunch of nasty mapbox/node-pre-gyp dependency & webpack errors. Unfortunately, node-pre-gyp is no longer maintained, so I haven't had much luck in finding solutions
Related discussion:
- Node.js Client API Problems duckdb/duckdb#7067
- mock-aws-s3, aws-sdk, nock dependencies vs devDependencies issue mapbox/node-pre-gyp#661
- This is for an older version but vaguely related? npm install of duckdb 0.6.0 installing the wrong binaries(arm) on macOS/x86 duckdb/duckdb#5605
- Unable to build using rollup duckdb/duckdb-node#115
Currently the deployed versions of the desktop app are based on main, but built on their respective chips and manually added to the release.