-
Notifications
You must be signed in to change notification settings - Fork 43
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
Can't reconcile two non-macho files #41
Comments
Hello! This is a feature I worked on. It looks like |
The easiest fix might be to block it from being put into asar from |
I tried that and got a different error:
Interestingly, this is a similar error to the one I got when I used electron-universal v1.0.5 with electron-builder v23.0.0. However, the first two |
Well, you can ignore that other files as well, or even all files in
|
That's what I've trying the past few minutes. After adding `"!build/addon.target.mk", the same error occurred with build/config.gypi, so added that too. The next error is with build/Release/addon.node. What do I do now since you're saying I can't ignore files in build/Release? Not sure how it is used in your app, but the basic idea here is that you shouldn't bundle platform-specific files into your app unless they:
They do not.
Do you mean like |
Could you run |
What do you mean? Run it in the command line or add it to package.json? By the way, I added |
command line. |
Here's the output:
I didn't need to exclude build/binding.Makefile, build/gyp-mac-tool, or build/Release/obj.target to make it build. I had to exclude build/Release/.deps, build/Release/addon.node, build/Makefile, build/addon.target.mk, and build/config.gypi. |
Ah gosh, it is already universal. I wonder why it was different between x64 and arm64 bundles then... |
I have an idea: in my |
This is just the way the node.js addons are built. You can definitely include whole folder if this makes sense for your app. |
I noticed in addon.target.mk that |
Unclear. I'd be more curious to learn what made this binding universal. Normally node addons are for single arch. |
I attached the package.json and binding.gyp, if you wanted to look at it. Do you think all the exclusions from the |
I think I figured it out. I use native-ext-loader instead of node-addon-loader. In contrast, it "allows to build path at runtime." In my webpack.main.additions.js, native-ext-loader is set to |
I'm having the same problem: ⨯ Can't reconcile two non-macho files node_modules/better-sqlite3/build/deps/sqlite3.target.mk failedTask=build stackTrace=Error: Can't reconcile two non-macho files node_modules/better-sqlite3/build/deps/sqlite3.target.mk
at Object.exports.mergeASARs (/Users/oltreseba/Akiflow/akido/node_modules/@electron/universal/src/asar-utils.ts:151:13)
at exports.makeUniversalApp (/Users/oltreseba/Akiflow/akido/node_modules/@electron/universal/src/index.ts:200:13)
at MacPackager.doPack (/Users/oltreseba/Akiflow/akido/node_modules/app-builder-lib/src/macPackager.ts:125:9)
at MacPackager.pack (/Users/oltreseba/Akiflow/akido/node_modules/app-builder-lib/src/macPackager.ts:179:7)
at Packager.doBuild (/Users/oltreseba/Akiflow/akido/node_modules/app-builder-lib/src/packager.ts:441:9)
at Object.executeFinally (/Users/oltreseba/Akiflow/akido/node_modules/builder-util/src/promise.ts:12:14)
at Packager._build (/Users/oltreseba/Akiflow/akido/node_modules/app-builder-lib/src/packager.ts:376:31)
at Packager.build (/Users/oltreseba/Akiflow/akido/node_modules/app-builder-lib/src/packager.ts:337:12)
at Object.executeFinally (/Users/oltreseba/Akiflow/akido/node_modules/builder-util/src/promise.ts:12:14) Everything was working fine until i upgraded electron builder from 22.14.13 to 23.0.2. |
After excluding
|
@oltreseba, @indutny-signal, I fixed it without excluding files. In my package.json, I had custom additions to |
Not really. Thank you. |
@oltreseba you might need to exclude everything from |
@oltreseba, here's the link to that documentation. |
Having the same issue
running file on the bindings.node returns this
Removing custom settings for the build files doesn't seem to change anything |
I've got a similar issue, however with
I can't ignore this directory in
Rolling back to older |
Can confirm the same issue with First trip up is on |
Adding this to It basically ignores all the C/C++ build files from packaging |
Same with For now, I have to stay with version 22.xx.xxx Python 2 (can be downloaded from here: https://www.python.org/downloads/release/python-2718/) Don't forget to tell electron-builder where to find it using the export PYTHON_PATH=/usr/local/bin/python
yarn electron-builder Edit 1: it also works with electron-builder v23, as long as you set Edit 2: The binary of Edit 3: It seems like the binary is in Mach-O format, but already contains both architectures:
Seems like |
i have a similar issue to this, but with this error:
any ideas? |
Did you try this? You probably don't need |
In my case adding
and then in Electron-Builder if I add that file to
|
In this command from the logs above ☝️
Both paths for lipo are the same. |
What needs to be done to fix this? We have this same problem when building a universal app on M1 with electron-builder, and we're currently working around the issue by deleting some of the native libraries in |
@dlon did you come across this issue? ranisalt/node-argon2#374 I'm not sure this particular issue is with |
In macOS 12.3, Apple removed Python 2. electron-builder v23.0.0 added Python 3 support to resolve the issue. However, electron-universal now fails to package the universal app.
Full Error Message:
Does electron-universal directly utilize Python 2?
The text was updated successfully, but these errors were encountered: