Opened 2 years ago

Closed 2 years ago

#65515 closed defect (fixed)

Please link nodejs16 and before against openssl 1.x

Reported by: dgilman (David Gilman) Owned by: ci42
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: i0ntempest
Port: nodejs16

Description

Nodejs only got openssl 3 support in nodejs 17:

https://nodejs.org/en/blog/release/v17.0.0/

Right now, in nodejs 16, it'll build and link against openssl 3. However, certain functions aren't available, and this is impacting e.g. webpack, causing it to break. There could be other breakage down in there too.

In the past few days upstream has written a patch to support openssl 3 with nodejs 16:

https://github.com/nodejs/node/commit/e903cd19edd27eb6375b4decbcfeff045e5e7df0

However, this patch fixes the problem by requiring a nodejs 16 + openssl 3 user to pass --openssl-legacy-provider to nodejs via cli or envvars, which in practice will break people's stuff until they do that. I think the straightforward fix here is to make nodejs 16 and before explicitly link against openssl 1, and nodejs 17+ explicitly link against openssl 3.

Change History (4)

comment:1 Changed 2 years ago by Robotex

I confirm this defect, I'm unable to run expo run web because of this

comment:3 Changed 2 years ago by i0ntempest

Cc: i0ntempest added

comment:4 Changed 2 years ago by i0ntempest

Resolution: fixed
Status: assignedclosed

In d1f08602310cbb6d9c9c4c4d2b4e6b9d48911a7f/macports-ports (master):

nodejs16: Link OpenSSL 1.1 instead of 3

Closes: #65515

Note: See TracTickets for help on using tickets.