napi-rs / napi-rs/node-rs

Any chance of a ARMv6 build of the Bcrypt node?

Open
#854 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
1.5k
Forks
52
Avg merge
13h 37m
Merged PRs (30d)
19

Description

Running on a Raspberry Pi Zero W with NodeJS v20.0 throws an Illegal Instruction error because the node pulls in the ARMv7 native binary and there is no source code to do a npm rebuild

Would it be possible to add a ARMv6 build?

If not could you update at least update the README to be explicit that the Linux arm gnu (glibc 2.17) is specifically ARMv7.

p.s. the support matrix could probably do with an update as NodeJS v12, v14 are very much EoL and v16 as well.

gdb /usr/bin/node ./core
GNU gdb (Raspbian 13.1-3) 13.1
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/node...
[New LWP 2265]
[New LWP 2269]
[New LWP 2270]
[New LWP 2271]
[New LWP 2268]
[New LWP 2267]
[New LWP 2266]
--Type <RET> for more, q to quit, c to continue without paging--c
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Core was generated by `node /usr/bin/node-red'.
Program terminated with signal SIGILL, Illegal instruction.
#0  0xb412a764 in ?? ()
   from /usr/lib/node_modules/node-red/node_modules/@node-rs/bcrypt-linux-arm-gnueabihf/bcrypt.linux-arm-gnueabihf.node
[Current thread is 1 (Thread 0xb6f43780 (LWP 2265))]

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the README's support matrix and the ARM package path shown in the report: @node-rs/bcrypt-linux-arm-gnueabihf/bcrypt.linux-arm-gnueabihf.node. Determine whether an ARMv6 build can be provided alongside the current ARMv7 binary, or document the existing ARM requirement explicitly. Update the relevant README support information and verify the resulting package behavior on the reported Node.js and Raspberry Pi setup.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, rust
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.