Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for running on Apple Silicon (arm64) #56

Open
LinusU opened this issue Apr 23, 2021 · 6 comments
Open

Support for running on Apple Silicon (arm64) #56

LinusU opened this issue Apr 23, 2021 · 6 comments

Comments

@LinusU
Copy link

LinusU commented Apr 23, 2021

Currently, the binary shipped in app-builder-bin is only built for x86_64, would it be possible to have it be a universal binary with support for arm64 as well?

$ file node_modules/app-builder-bin/mac/app-builder
node_modules/app-builder-bin/mac/app-builder: Mach-O 64-bit executable x86_64
@LinusU
Copy link
Author

LinusU commented Apr 23, 2021

It seems like go build cannot produce universal binaries on its own. ref: golang/go#40698

On macOS this isn't a problem since we have lipo, but if we are cross compiling from e.g. Linux to macOS than it becomes a bit more tricky... One option is to ship two binaries instead, and have the js script pick the appropriate one...

@mmaietta
Copy link
Collaborator

mmaietta commented Feb 8, 2024

@develar Friendly bump on this. This is really needed for electron-builder to work on the newer apple silicon macs because it can't execute ia32 binaries.

I can handle the electron-builder implementation, but I need the binary provided in this repo. Could you please assist?

@Nantris
Copy link

Nantris commented Feb 8, 2024

Copying from my accidental duplicate #100:


Using this package via electron-builder inside a Docker on an Apple M2 machine results in:

⨯ cannot execute  cause=signal: segmentation fault
                    errorOut=qemu: uncaught target signal 11 (Segmentation fault) - core dumped

                    command=wine /root/.cache/electron-builder/winCodeSign/winCodeSign-2.6.0/rcedit-ia32.exe '/tmp/et-db411cd21f3bbd882f3a5a30c58db6ff/t-8WkR4h/test-project-8/dist/win-unpacked/Test App ßW.exe' --set-version-string FileDescription 'Test App ßW' --set-version-string ProductName 'Test App ßW' --set-version-string LegalCopyright 'Copyright © 2024 Foo Bar' --set-file-version 1.1.0.42 --set-product-version 1.1.0.42 --set-version-string InternalName 'Test App ßW' --set-version-string OriginalFilename '' --set-version-string CompanyName 'Foo Bar' --set-icon /tmp/et-db411cd21f3bbd882f3a5a30c58db6ff/t-8WkR4h/test-project-8/build/icon.ico

Is it possible for app-builder to provide an x64 compatible rcedit.exe to resolve this issue so that cross-platform builds can be managed from a single machine? It currently requires a minimum of two machines, or an older Mac which will begin reaching end of life shortly. The final Intel-based Apple machines will reach EOL by 2027 by my rough estimate, but many already have.

As such we don't want to buy older hardware for a self-hosted CI pipeline, but nor can we but newer hardware due to this incompatibility.

@Nantris
Copy link

Nantris commented Apr 30, 2024

Friendly bump.

@develar, could you comment on this even if only to say no action is currently planned so we can gain some clarity about the future? Thank you for your wonderful work.

@Nantris
Copy link

Nantris commented Jun 7, 2024

Friendly bump. This would help us save a thousand dollars on hardware, and I'm sure we're not the only ones.

@mmaietta
Copy link
Collaborator

@Nantris I'm taking a stab at implementing this but my knowledge of Go is pretty much zero. I'll follow up here if I make any progress

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants