-
-
Notifications
You must be signed in to change notification settings - Fork 569
using electron/universal
, some modules do not rebuild according to arch
#3657
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
Comments
Does anyone have some pointers here? |
I have confirmed that when specifying Like |
@erickzhao This line that worked above required me to hack into |
@erickzhao Hello? |
@malept @erickzhao @VerteDinde As it is, we're blocked from building universal Mac builds in CircleCI. And I suppose other people would be helped by this, too. Could someone review this fix and see if it is possible to integrate? |
Hello please |
@malept @erickzhao @VerteDinde Is there any update on this issue? We'd like to move forward with this framework, but this issue is causing issue in our automated build process. Any insight into this would be most appreciated! |
Checking in again, is there a plan for this ticket? |
For anyone interested, this is the point I set the
|
Pre-flight checklist
Electron Forge version
7.4.0
Electron version
v24.1.1
Operating system
macOS 11.3.1
Last known working Electron Forge version
--
Expected behavior
Using
electron/universal
configured withosxUniversal
in forge config, we expect all dependent modules will receive the correctarch
and build themselves accordingly.Actual behavior
We are using
ffmpeg-static
in our Electron app, but when the universal build is created, only the arm64 ffmpeg binary exists. I have confirmed that theffmpeg-static
module can be rebuilt in CLI with anarch
param (npm rebuild --arch=x64 -f ffmpeg-static
and confirmed withfile node_modules/ffmpeg-static/ffmpeg
). In this case the correct binary is build/fetched. But when running the universal build with forge, onlyos.arch()
seems to be respected, which in this case is an M1 machine.It seems electron-forge isn't passing the correct arch to dependencies. If there were hooks in the universal build process, or some env vars set, I could manually rebuild this one ffmpeg module according to an arch. For example
ffmpeg-static
does obeyprocess.env.npm_config_arch
, so if I were able to set that in between the x64 and arm64 builds (or electron/universal did), the module would build the correct ffmpeg binary.I have attempted using hooks in electron-forge to try and switch based on
arch
, but that value is alwaysuniversal
. Also, building the app on separate Intel and M1 machines does produce the appropriate ffmpeg binary.Steps to reproduce
Set up a project with
electron-forge
andffmpeg-static
, then attempt a universal Mac build.Additional information
No response
The text was updated successfully, but these errors were encountered: