You are not logged in.

#1 2021-12-17 21:34:46

d3x0r
Member
Registered: 2015-08-17
Posts: 42

Node OpenSSL Compatibility issue

This seems to be a problem specific to Arch, and Arch's distribution of node.

Node.js reports  openssl: '1.1.1l',   as the version of ssl it's linked against, which is what's included with the system. 

Build tools like node-gyp and cmake-js download the headers for the version of node, and node is expected to be built against its internal version (openssl: '3.0.0+quic', on windows) so the headers that are downloaded to build a native addon against node are all configured as 3.0.

But the symbols that are in 3.0 aren't in 1.1.1l.

https://github.com/d3x0r/sack.vfs This is the project I'm trying to build

option 1) clone, node-gyp configure build, cd tests and run (I dunno something) it's actually not failing until I try to open a SSL socket... the link and build completes; so I'll have to add or figure out which test to use.

(depending on forcing build options one way or another)

/usr/bin/node: symbol lookup error: /home/d3x0r/work/javascript/sack.vfs/build/Debug/sack_vfs.node: undefined symbol: SSL_get1_peer_certificate
/usr/bin/node: symbol lookup error: /home/d3x0r/work/javascript/sack.vfs/build/Debug/sack_vfs.node: undefined symbol: EVP_PKEY_CTX_new_from_name


the code is built to sue #if OPENSSL_VERSION_MAJOR >=3 - but the headers that a node addon is built against aren't the system headers, but should be the node process environment headers....

Please help, this is really a blocking issue at this point.

Offline

#2 2021-12-17 21:51:24

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 15,268

Re: Node OpenSSL Compatibility issue

https://lists.archlinux.org/pipermail/a … 30576.html

You may have to wait a few weeks before the new openssl 3 is available in arch.

The project mentions supporting libressl and that is in archlinux repos .
Maybe you could switch to building against libressl ?


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#3 2021-12-17 21:58:36

loqs
Member
Registered: 2014-03-06
Posts: 18,987

Re: Node OpenSSL Compatibility issue

Can you access /usr/include/node/config.gypi the nodejs package supplies which records 'node_shared_openssl': 'true'?
Edit:
If you build against nodejs-lts-erbium or nodejs-lts-fermium both of those use openssl 1.1 internally so they should not have the version mismatch?

Does it have to be openssl 3 with the quic patchset?

Last edited by loqs (2021-12-17 22:03:10)

Offline

#4 2021-12-17 22:30:33

d3x0r
Member
Registered: 2015-08-17
Posts: 42

Re: Node OpenSSL Compatibility issue

the quic version is what windows build has

I can access config - it does say true - but then the build tools don't respect that - presumably they should fall back to system openssl headers(?)

waiting  makes me sad smile   docker might be a solution I was playing with recently....

Offline

#5 2021-12-17 22:38:47

loqs
Member
Registered: 2014-03-06
Posts: 18,987

Re: Node OpenSSL Compatibility issue

Offline

Board footer

Powered by FluxBB