sc0ttdav3y opened a new issue #193:
URL: https://github.com/apache/cordova-electron/issues/193


   # Bug Report
   
   ## Problem
   
   I'm running MacOS Big Sur, and the windows platform within electron doesn't 
build.
   
   ### What is expected to happen?
   
   I expect a 64 bit windows binary to be built. I know MacOS Catalina and 
greater can't build 32 bit binaries. 
   
   ### What does actually happen?
   
   I get an error message: `bad CPU type in executable`
   
   ```
     • packaging       platform=win32 arch=x64 electron=4.0.1 
appOutDir=platforms/electron/build/win-unpacked
     ⨯ error: fork/exec 
/Users/XXX/Library/Caches/electron-builder/wine/wine-2.0.3-mac-10.13/bin/wine: 
bad CPU type in executable
   path: 
/Users/XXX/Library/Caches/electron-builder/wine/wine-2.0.3-mac-10.13/bin/wine
   args: 
/Users/XXX/Library/Caches/electron-builder/wine/wine-2.0.3-mac-10.13/bin/wine 
/Users/XXX/Library/Caches/electron-builder/winCodeSign/winCodeSign-2.4.0/rcedit-ia32.exe
 
/Users/XXX/.jenkins/jobs/Apps/jobs/develop/jobs/cw-electron-develop/workspace/cordova-build/app/platforms/electron/build/win-unpacked/Crisisworks
 Dev.exe --set-version-string FileDescription XXX --set-version-string 
ProductName XXX --set-version-string LegalCopyright Copyright © 2021 XXX 
--set-file-version 1.16.4.46 --set-product-version 1.16.4.46 
--set-version-string InternalName XXX --set-version-string OriginalFilename  
--set-version-string CompanyName XXX --set-icon 
/Users/XXX/.jenkins/jobs/Apps/jobs/develop/jobs/cw-electron-develop/workspace/cordova-build/app/platforms/electron/build/.icon-ico/icon.ico
   output: 
   error output:
   github.com/develar/app-builder/pkg/util.Execute
        /Volumes/data/Documents/app-builder/pkg/util/util.go:61
   github.com/develar/app-builder/pkg/wine.execWine
        /Volumes/data/Documents/app-builder/pkg/wine/wine.go:92
   github.com/develar/app-builder/pkg/wine.ConfigureCommand.func2
        /Volumes/data/Documents/app-builder/pkg/wine/wine.go:43
   github.com/alecthomas/kingpin.(*actionMixin).applyActions
        
/Volumes/data/go/pkg/mod/github.com/alecthomas/[email protected]+incompatible/actions.go:28
   github.com/alecthomas/kingpin.(*Application).applyActions
        
/Volumes/data/go/pkg/mod/github.com/alecthomas/[email protected]+incompatible/app.go:557
   github.com/alecthomas/kingpin.(*Application).execute
        
/Volumes/data/go/pkg/mod/github.com/alecthomas/[email protected]+incompatible/app.go:390
   github.com/alecthomas/kingpin.(*Application).Parse
        
/Volumes/data/go/pkg/mod/github.com/alecthomas/[email protected]+incompatible/app.go:222
   main.main
        /Volumes/data/Documents/app-builder/main.go:78
   runtime.main
        /usr/local/Cellar/go/1.12.6/libexec/src/runtime/proc.go:200
   runtime.goexit
        /usr/local/Cellar/go/1.12.6/libexec/src/runtime/asm_amd64.s:1337
   ``` 
   
   
   ## Information
   
   I understand there's a bit of history or dependency to this issue:
   
   - MacOS no longer supports 32-bit executables since Catalina
   - Back in 2019 when many tickets on this were opened, wine didn't ship with 
a 64-bit executable (but it does now)
   - This package depends on upstream packages, which depend on upstream 
packages, and the problem is most likely rooted up there somewhere.
   
   Some concrete information on the issue from upstream:
   
   - https://github.com/electron/node-rcedit/issues/51
   - https://github.com/electron/electron-packager/issues/1055
   - https://github.com/electron/node-rcedit/issues/51
   
   A workaround:
   
   A solution that is floated around on most of those issues above is 
summarised well here: 
   https://github.com/electron/node-rcedit/issues/51#issuecomment-546234084
   
   It suggests using brew to install wine, then editing a package called 
`rcedit` to rename `wine` to `wine64`. In short, there is a way to make this 
work. The problem with the workaround from a cordova-electron perspective is 
that the package doesn't actually get installed anywhere coming from 
`cordova-electron`, and I can't work out where this rcedit package fits in the 
schema of things to file a report elsewhere.
   
   Anyway, back to the core of this issue, it seems possible to build win64 
binaries from MacOS and so it seems surprising to me that I can't build those 
binaries when I could on an earlier mac.  
   
   So here's this ticket, where I hope cordova-electron can pursue MacOS win64 
builds, even if that simply means identifying the upstream packages and having 
the community advocate with them. I'm happy to play my part if I can determine 
how it all fits together.
   
   ### Command or Code
   
   ```
   cordova platform add [email protected]
   cordova build electron
   ```
   
   ### Environment, Platform, Device
   
   - MacOS Big Sur (also present on MacOS Catalina)
   
   ### Version information
   
   - cordova 10.0.0
   - cordova-electron 2.0.0
   - brew 3.0.9
   - wine-stable package from brew
   - `wine64 --version` reports `wine-5.0`
   
   ## Checklist
   
   - [x] I searched for existing GitHub issues
   - [x] I updated all Cordova tooling to most recent version
   - [x] I included all the necessary information above
   
   Thanks for the project, and thanks in advance for your help.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to