Skip to content

nodejs-wheel-binaries: add build-nodejs-wheel-binaries.yml for riscv64 wheels - #860

Open
luhenry wants to merge 2 commits into
mainfrom
nodejs-wheel-binaries
Open

nodejs-wheel-binaries: add build-nodejs-wheel-binaries.yml for riscv64 wheels#860
luhenry wants to merge 2 commits into
mainfrom
nodejs-wheel-binaries

Conversation

@luhenry

@luhenry luhenry commented Sep 3, 2026

Copy link
Copy Markdown
Member

Compiles Node.js itself from source via CMake ExternalProject_Add (upstream's own configure && make, unchanged from its x86_64/aarch64 jobs). Upstream publishes no riscv64 wheel.

Mirrors upstream's build_wheel.yml Linux job.

Differs from upstream

  • musllinux dropped - no musllinux_riscv64 manylinux image available yet.

Matrix: one cp312-manylinux_riscv64 job - the wheel tag is py2.py3 (interpreter-independent), matching upstream's own build = ["cp311-*"] restriction.

Testing

  • same as upstream

License: OK

Patches

  • 0001-riscv64-pass-openssl-no-asm-to-Node-s-configure.patch - To upstream. Node's vendored OpenSSL has no riscv64 asm config, so its build falls back to a config carrying the x86-only -m64 flag, which gcc rejects. Reproduces on riscv64 only.

CI running - will update this line with the riscv64 job's pass/skip counts once it completes.

nodejs-wheel-binaries builds Node.js itself from source via CMake
ExternalProject_Add (upstream's own configure/make, same on every
platform) rather than vendoring a prebuilt binary, and Node 24.19.0's
configure.py/V8 both support riscv64 natively.
The riscv64 build job failed 30 minutes in: gcc rejected the x86-only
-m64 flag while compiling OpenSSL. Node's deps/openssl/openssl_asm.gypi
has no riscv64 branch, so its catch-all fallback wrongly includes the
linux-x86_64 asm config. --openssl-no-asm selects the no-asm config,
which does have a riscv64 branch.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant