Skip to content
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

Node ABI issue with 9.0.2 bindings #2156

Closed
choppsta opened this issue Oct 20, 2020 · 15 comments
Closed

Node ABI issue with 9.0.2 bindings #2156

choppsta opened this issue Oct 20, 2020 · 15 comments

Comments

@choppsta
Copy link

Summary of Problem

  • What are you trying to do?

Install serialport with prebuilt bindings

  • What happens?

They cannot be found

  • What should have happened?

They should be matched against the node ABI number and downloaded

Versions, Operating System and Hardware

It looks like the process that builds the prebuilt bindings is affected by this issue:
electron/node-abi#90

The filenames of the bindings don't seem to have the right ABI numbers (e.g. node 12 should be 72, but I believe it's incorrectly being labelled as 68).

It would also be really great to get prebuilt bindings for electron 10 (ABI 82)!

@reconbot
Copy link
Member

reconbot commented Nov 3, 2020

Until that issue closes there's not much we can do.

@Lovinity
Copy link

It looks like node-abi released an update a few days ago.

@jeffrson
Copy link

jeffrson commented Dec 4, 2020

Also there are'nt binary files for node 14 (LTS!) ABI 83.

@reconbot
Copy link
Member

reconbot commented Dec 4, 2020

Try [email protected]

@reconbot
Copy link
Member

reconbot commented Dec 4, 2020

And as always I welcome help maintaining the project, I'm not able to attend to these changes promptly.

@choppsta
Copy link
Author

choppsta commented Dec 4, 2020

Thanks reconbot, unfortunately I think there is still an issue with the bindings build process as the ABI numbers for the node bindings don't seem to match (https://github.com/lgeiger/node-abi/blob/master/abi_registry.json). The electron ones are ok, although they only go up to 80 (Electron 9) where as the current version of Electron is two major versions ahead now. A lot of the recent issues on this repo seem to be related to this.

I really appreciate all the work you put into this project and would love to help out if I can. Could you point me in the right direction for how the building of these bindings works?

@choppsta
Copy link
Author

choppsta commented Dec 4, 2020

Hi reconbot, I've dug into this and found the source of the issue:

The version of the node-abi in the package-lock.json is out of date. It's version 2.19.1 when the current version is 2.19.3. Because it's a dependency of prebuild it won't get updated unless that project specifies a higher version.

Quick solution is npm update --depth 2 node-abi, although it might be better to add node-abi as a dependency to this project meaning that it could be kept up to date more easily with npm update.

Hope this helps. Let me know if I can do anything to help further.

@jeffrson
Copy link

jeffrson commented Dec 7, 2020

Good find @choppsta!

Although the "bindings" workspace has an updated package-lock.json, prebuild is installed from the workspace's root and so it uses the node-abi that's available there.

I can confirm, that with @choppsta's "quick fix" correctly versioned packages (ABI) can be built.

@ItsHarper
Copy link
Contributor

@choppsta Ah, that's annoying. I actually added node-abi as an explicit dependency for the bindings package, but I didn't realize it needed to be done at the top-level as well. I'll make another PR.

@reconbot
Copy link
Member

Released in 9.0.4, binaries should be available int he next 30-45 minutes

@reconbot
Copy link
Member

Looks like we're having build issues on linux and windows. I'm digging into it.

@reconbot
Copy link
Member

I've ported the builds to github actions, seems to be in good shape.

@choppsta
Copy link
Author

That's great, thanks everyone! I can confirm this now works perfectly, even for the latest electron version (11.1.0).

@Lovinity
Copy link

I must be doing something wrong because I'm still getting bindings 9.0.4 which has the Windows/Linux build error that @reconbot mentioned. 9.0.5 seems to be unpublished.

@reconbot
Copy link
Member

There is no 9.0.5, I got it working for 9.0.4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

5 participants