You are not logged in.
Pages: 1
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
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
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
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
docker might be a solution I was playing with recently....
Offline
You could supply patches for any of the following which do not support openssl 3.0 which Arch packages:
https://github.com/wahern/luaossl/issues/195
https://github.com/libusual/libusual/issues/35
https://github.com/droe/sslsplit/issues/290
https://github.com/AGWA/git-crypt/issues/232
https://github.com/umurmur/umurmur/issues/176
https://github.com/aws/s2n-tls/issues/1808
https://github.com/libarchive/libarchive/issues/1549 related PR was closed by author without it being applied
Edit:
See https://github.com/nodejs/node-gyp/pull/2497
Last edited by loqs (2021-12-21 23:41:12)
Offline
Pages: 1