Mathieu Lirzin writes: > Marius Bakke writes: > >> We already have the latest libuv on 'core-updates'. > > Indeed, I forgot to prune old branches and get confused. > >> I wanted to push >> this patch to master actually (with a libuv-1.23 package), but node does >> not work with OpenSSL 1.1.1: >> . > > I have read rapidly this thread. > > IIRC the build for node 10.xx was failing with ‘openssl’ which was the > reason of upgrading to ‘openssl-next’ and this issue seems to imply that > node fails to run with ‘openssl-next’? Is that correct? > > Have you recently tried to compile ‘node’ with libuv-1.23 without > upgrading the “openssl” input? How did it work? Building Node 10.11.0 with OpenSSL@1.0 results in... g++ '-DNODE_ARCH="x64"' '-DNODE_PLATFORM="linux"' '-DNODE_WANT_INTERNALS=1' '-DV8_DEPRECATION_WARNINGS=1' '-DNODE_OPENSSL_SYSTEM_CERT_PATH=""' '-DHAVE_INSPECTOR=1' '-D__POSIX__' '-DNODE_USE_V8_PLATFORM=1' '-DNODE_HAVE_I18N_SUPPORT=1' '-DHAVE_OPENSSL=1' -I../src -I/tmp/guix-build-node-10.11.0.drv-0/node-v10.11.0/out/Release/obj/gen -I/tmp/guix-build-node-10.11.0.drv-0/node-v10.11.0/out/Release/obj/gen/include -I/tmp/guix-build-node-10.11.0.drv-0/node-v10.11.0/out/Release/obj/gen/src -I../deps/v8/include -pthread -Wall -Wextra -Wno-unused-parameter -m64 -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++1y -MMD -MF /tmp/guix-build-node-10.11.0.drv-0/node-v10.11.0/out/Release/.deps//tmp/guix-build-node-10.11.0.drv-0/node-v10.11.0/out/Release/obj.target/node_lib/src/node.o.d.raw -c -o /tmp/guix-build-node-10.11.0.drv-0/node-v10.11.0/out/Release/obj.target/node_lib/src/node.o ../src/node.cc In file included from ../src/node.cc:39:0: ../src/node_crypto.h:82:46: error: ‘EVP_MD_CTX_free’ was not declared in this scope using EVPMDPointer = DeleteFnPtr; ^ ../src/node_crypto.h:82:61: error: template argument 2 is invalid using EVPMDPointer = DeleteFnPtr; ^ ../src/node_crypto.h:454:25: error: ‘HMAC_CTX_free’ was not declared in this scope DeleteFnPtr ctx_; ^ ../src/node_crypto.h:454:38: error: template argument 2 is invalid DeleteFnPtr ctx_; ^ ../src/node_crypto.h: In constructor ‘node::crypto::Hmac::Hmac(node::Environment*, v8::Local)’: ../src/node_crypto.h:449:21: error: cannot convert ‘std::nullptr_t’ to ‘int’ in initialization ctx_(nullptr) { ^ ../src/node_crypto.h: At global scope: ../src/node_crypto.h:483:3: error: ‘EVPMDPointer’ does not name a type EVPMDPointer mdctx_; ^ ../src/node_crypto.h: In constructor ‘node::crypto::Hash::Hash(node::Environment*, v8::Local)’: ../src/node_crypto.h:477:9: error: class ‘node::crypto::Hash’ does not have any field named ‘mdctx_’ mdctx_(nullptr), ^ ../src/node_crypto.h: At global scope: ../src/node_crypto.h:515:3: error: ‘EVPMDPointer’ does not name a type EVPMDPointer mdctx_; ^ make[1]: *** [node_lib.target.mk:181: /tmp/guix-build-node-10.11.0.drv-0/node-v10.11.0/out/Release/obj.target/node_lib/src/node.o] Error 1 >> So I wonder if we should downgrade to the 8.12 LTS release, which still >> supports OpenSSL 1.0, until the OpenSSL situation is sorted. From what >> I can tell it might take a while. >> >> What do you think? > > I think that ideally it would be a good idea to have both the latest and > the LTS versions distributed in Guix. So I agree with your solution of > downgrading to 8.12 LTS. I managed to build Node LTS on 'core-updates' with this patch: