nwutils/nw-builder

v0.87.0 MacOS builds don't launch with nw-builder v4.7.4

CosmoMyzrailGorynych opened this issue · 7 comments

Issue Type

  • Bug Report
  • Feature Request
  • Other

Current/Missing Behaviour

An app built for MacOS doesn't launch. No errors, no popups, nothing.
The buids are baked on a Linux runner and zipped later. I checked the zip structure and the symlinks are all in place, nothing have vanished, so I'm pretty sure it's not a problem on my side.

Expected/Proposed Behaviour

Apps should work.

Additional Info

  • Package version: v4.7.4
  • Operating System:
    • custom node:lts-bullseye + Wine container for building
    • MacOS Sonoma 14.4.1 on Apple M1 as a client
  • Node version: v20.13.1
  • NW.js version: 0.87.0
  • Repro link: Broken builds, Relevant builder code.
  • Windows and Linux builds do work.

Builder config object for mac builds:

{
    version: nwVersion,
    flavor: 'sdk',
    srcDir: './app/',
    glob: false,
    mode: 'build',
    platform: 'osx',
    arch: 'x64',
    outDir: `./build/ctjs - v${pack.version}/${itchChannel}`,
    zip: false
}

From what I understand, you're building MacOS x64 executable and running it on M1 (ARM). Do you have Rosetta enabled?

Well, I'm only relaying info from my user. I asked about Rosetta (awaiting response), but previously they used x64 builds just fine before I updated nw.js from v0.72.0 to v0.87.0.

Are they able to run the ARM build on their M1? if not, then it is probably a nw-builder issue.

From what I understand, you're building MacOS x64 executable and running it on M1 (ARM). Do you have Rosetta enabled?

Yeah! I'm using it with Rosetta activated

If NW.js v0.72.0 works with nw-builder v4.7.4 but v0.78 doesn't then there has been a change in the structure of the MacOS app which nw-builder is not taking into account. Will investigate

@marcobrunodev What do the logs say when running the application? Running it directly in terminal will allow ypu to see them.

@marcobrunodev What do the logs say when running the application? Running it directly in terminal will allow ypu to see them.

@marcobrunodev try that on ct.js Nightly's version 2342a50c (May 13)