electron / universal

Create Universal macOS applications from two x64 and arm64 Electron applications
MIT License
112 stars 43 forks source link

Universal Binaries in Resources Don't Lipo #17

Open pnegahdar opened 3 years ago

pnegahdar commented 3 years ago

I have a Golang universal binary called electron-helper listed in my extraFiles for a build.

When building --arm64 and --x64 independently the both work fine. However when I try to build it via the --universal flag it has an issue lipo-ing this resource:

  ⨯ Command failed with a non-zero return code (1):
lipo /private/var/folders/_c/ykyhj8_93dj1lf0pyyg5d0dr0000gn/T/electron-universal-qQ3oug/Tmp.app/Contents/Resources/dist/electron-helper /Users/projects/electron/dist/electron/mac-universal--arm64/Main.app/Contents/Resources/dist/electron-helper -create -output /private/var/folders/_c/ykyhj8_93dj1lf0pyyg5d0dr0000gn/T/electron-universal-qQ3oug/Tmp.app/Contents/Resources/dist/electron-helper

fatal error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: /private/var/folders/_c/ykyhj8_93dj1lf0pyyg5d0dr0000gn/T/electron-universal-qQ3oug/Tmp.app/Contents/Resources/dist/electron-helper and /Users/projects/electron/dist/electron/mac-universal--arm64/Main.app/Contents/Resources/dist/electron-helper have the same architectures (x86_64) and can't be in the same fat output file  stackTrace=

Anyway to get it to ignore already lipo'd binaries? I can also put the binary conditionally for each architecture but it seems like there is no way to conditionalize extraFiles by architecture.

jtbandes commented 2 years ago

Duplicate issue: https://github.com/electron-userland/electron-builder/issues/5552