macOS 10.13 brew install node@14 issue

Viewed 1456

Attempting to install node 14 on macOS 10.13 High Sierra, am getting the following error:

$ brew install node@14
Warning: You are using macOS 10.13.
We (and Apple) do not provide support for this old version.
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew's GitHub,
Twitter or any other official channels. You are responsible for resolving
any issues you experience while you are running this
old version.

==> Downloading https://nodejs.org/dist/v14.17.6/node-v14.17.6.tar.gz
Already downloaded: /Users/matthewoconnell/Library/Caches/Homebrew/downloads/bccca547b2cf70689421ad0cfbec80e2a2713b80d932cafbc5ef3cfdf2379b32--node-v14.17.6.tar.gz
==> python3 configure.py --prefix=/usr/local/Cellar/node@14/14.17.6 --with-intl=system-icu
==> make install
Last 15 lines from /Users/matthewoconnell/Library/Logs/Homebrew/node@14/02.make:
  clang -o /private/tmp/nodeA14-20210901-34839-12rf8hx/node-v14.17.6/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/rc2/rc2cfb64.o ../deps/openssl/openssl/crypto/rc2/rc2cfb64.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_HW' '-DNDEBUG' '-DL_ENDIAN' '-DOPENSSL_PIC' '-DOPENSSL_CPUID_OBJ' '-DOPENSSL_IA32_SSE2' '-DOPENSSL_BN_ASM_MONT' '-DOPENSSL_BN_ASM_MONT5' '-DOPENSSL_BN_ASM_GF2m' '-DSHA1_ASM' '-DSHA256_ASM' '-DSHA512_ASM' '-DKECCAK1600_ASM' '-DRC4_ASM' '-DMD5_ASM' '-DAESNI_ASM' '-DVPAES_ASM' '-DGHASH_ASM' '-DECP_NISTZ256_ASM' '-DX25519_ASM' '-DPOLY1305_ASM' '-DOPENSSLDIR="/System/Library/OpenSSL/"' '-DENGINESDIR="/dev/null"' -I/usr/local/Cellar/icu4c/69.1/include -I../deps/openssl/openssl -I../deps/openssl/openssl/include -I../deps/openssl/openssl/crypto -I../deps/openssl/openssl/crypto/include -I../deps/openssl/openssl/crypto/modes -I../deps/openssl/openssl/crypto/ec/curve448 -I../deps/openssl/openssl/crypto/ec/curve448/arch_32 -I../deps/openssl/config -I../deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2 -I../deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include -I../deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto -I../deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/include/internal  -O3 -gdwarf-2 -mmacosx-version-min=10.13 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -Wno-missing-field-initializers -fno-strict-aliasing -MMD -MF /private/tmp/nodeA14-20210901-34839-12rf8hx/node-v14.17.6/out/Release/.deps//private/tmp/nodeA14-20210901-34839-12rf8hx/node-v14.17.6/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/rc2/rc2cfb64.o.d.raw   -c
  clang -o /private/tmp/nodeA14-20210901-34839-12rf8hx/node-v14.17.6/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/rc2/rc2ofb64.o ../deps/openssl/openssl/crypto/rc2/rc2ofb64.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_HW' '-DNDEBUG' '-DL_ENDIAN' '-DOPENSSL_PIC' '-DOPENSSL_CPUID_OBJ' '-DOPENSSL_IA32_SSE2' '-DOPENSSL_BN_ASM_MONT' '-DOPENSSL_BN_ASM_MONT5' '-DOPENSSL_BN_ASM_GF2m' '-DSHA1_ASM' '-DSHA256_ASM' '-DSHA512_ASM' '-DKECCAK1600_ASM' '-DRC4_ASM' '-DMD5_ASM' '-DAESNI_ASM' '-DVPAES_ASM' '-DGHASH_ASM' '-DECP_NISTZ256_ASM' '-DX25519_ASM' '-DPOLY1305_ASM' '-DOPENSSLDIR="/System/Library/OpenSSL/"' '-DENGINESDIR="/dev/null"' -I/usr/local/Cellar/icu4c/69.1/include -I../deps/openssl/openssl -I../deps/openssl/openssl/include -I../deps/openssl/openssl/crypto -I../deps/openssl/openssl/crypto/include -I../deps/openssl/openssl/crypto/modes -I../deps/openssl/openssl/crypto/ec/curve448 -I../deps/openssl/openssl/crypto/ec/curve448/arch_32 -I../deps/openssl/config -I../deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2 -I../deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include -I../deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto -I../deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/include/internal  -O3 -gdwarf-2 -mmacosx-version-min=10.13 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -Wno-missing-field-initializers -fno-strict-aliasing -MMD -MF /private/tmp/nodeA14-20210901-34839-12rf8hx/node-v14.17.6/out/Release/.deps//private/tmp/nodeA14-20210901-34839-12rf8hx/node-v14.17.6/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/rc2/rc2ofb64.o.d.raw   -c
In file included from ../deps/openssl/openssl/crypto/rand/rand_unix.c:38:
/usr/include/CommonCrypto/CommonRandom.h:35:9: error: unknown type name 'CCCryptorStatus'
typedef CCCryptorStatus CCRNGStatus;
        ^
../deps/openssl/openssl/crypto/rand/rand_unix.c:385:47: error: use of undeclared identifier 'kCCSuccess'
    if (CCRandomGenerateBytes(buf, buflen) == kCCSuccess)
                                              ^
2 errors generated.
  clang -o /private/tmp/nodeA14-20210901-34839-12rf8hx/node-v14.17.6/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/ripemd/rmd_dgst.o ../deps/openssl/openssl/crypto/ripemd/rmd_dgst.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_HW' '-DNDEBUG' '-DL_ENDIAN' '-DOPENSSL_PIC' '-DOPENSSL_CPUID_OBJ' '-DOPENSSL_IA32_SSE2' '-DOPENSSL_BN_ASM_MONT' '-DOPENSSL_BN_ASM_MONT5' '-DOPENSSL_BN_ASM_GF2m' '-DSHA1_ASM' '-DSHA256_ASM' '-DSHA512_ASM' '-DKECCAK1600_ASM' '-DRC4_ASM' '-DMD5_ASM' '-DAESNI_ASM' '-DVPAES_ASM' '-DGHASH_ASM' '-DECP_NISTZ256_ASM' '-DX25519_ASM' '-DPOLY1305_ASM' '-DOPENSSLDIR="/System/Library/OpenSSL/"' '-DENGINESDIR="/dev/null"' -I/usr/local/Cellar/icu4c/69.1/include -I../deps/openssl/openssl -I../deps/openssl/openssl/include -I../deps/openssl/openssl/crypto -I../deps/openssl/openssl/crypto/include -I../deps/openssl/openssl/crypto/modes -I../deps/openssl/openssl/crypto/ec/curve448 -I../deps/openssl/openssl/crypto/ec/curve448/arch_32 -I../deps/openssl/config -I../deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2 -I../deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include -I../deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto -I../deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/include/internal  -O3 -gdwarf-2 -mmacosx-version-min=10.13 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -Wno-missing-field-initializers -fno-strict-aliasing -MMD -MF /private/tmp/nodeA14-20210901-34839-12rf8hx/node-v14.17.6/out/Release/.deps//private/tmp/nodeA14-20210901-34839-12rf8hx/node-v14.17.6/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/ripemd/rmd_dgst.o.d.raw   -c
  clang -o /private/tmp/nodeA14-20210901-34839-12rf8hx/node-v14.17.6/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/ripemd/rmd_one.o ../deps/openssl/openssl/crypto/ripemd/rmd_one.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_HW' '-DNDEBUG' '-DL_ENDIAN' '-DOPENSSL_PIC' '-DOPENSSL_CPUID_OBJ' '-DOPENSSL_IA32_SSE2' '-DOPENSSL_BN_ASM_MONT' '-DOPENSSL_BN_ASM_MONT5' '-DOPENSSL_BN_ASM_GF2m' '-DSHA1_ASM' '-DSHA256_ASM' '-DSHA512_ASM' '-DKECCAK1600_ASM' '-DRC4_ASM' '-DMD5_ASM' '-DAESNI_ASM' '-DVPAES_ASM' '-DGHASH_ASM' '-DECP_NISTZ256_ASM' '-DX25519_ASM' '-DPOLY1305_ASM' '-DOPENSSLDIR="/System/Library/OpenSSL/"' '-DENGINESDIR="/dev/null"' -I/usr/local/Cellar/icu4c/69.1/include -I../deps/openssl/openssl -I../deps/openssl/openssl/include -I../deps/openssl/openssl/crypto -I../deps/openssl/openssl/crypto/include -I../deps/openssl/openssl/crypto/modes -I../deps/openssl/openssl/crypto/ec/curve448 -I../deps/openssl/openssl/crypto/ec/curve448/arch_32 -I../deps/openssl/config -I../deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2 -I../deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include -I../deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto -I../deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/include/internal  -O3 -gdwarf-2 -mmacosx-version-min=10.13 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -Wno-missing-field-initializers -fno-strict-aliasing -MMD -MF /private/tmp/nodeA14-20210901-34839-12rf8hx/node-v14.17.6/out/Release/.deps//private/tmp/nodeA14-20210901-34839-12rf8hx/node-v14.17.6/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/ripemd/rmd_one.o.d.raw   -c
make[1]: *** [/private/tmp/nodeA14-20210901-34839-12rf8hx/node-v14.17.6/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/rand/rand_unix.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [node] Error 2

Any ideas? I previously applied this fix to get over the same issue installing the OpenSSL dependency, but am unsure if/how to apply the same fix here.

1 Answers

Since you already installed the modified version openssl in your local, you can do brew edit node@14 and add depends_on "openssl" in line 26, it should fix your --build-from-source issue.

The code change would look like this:

--- a/Formula/node@14.rb
+++ b/Formula/node@14.rb
@@ -23,6 +23,7 @@ class NodeAT14 < Formula
   depends_on "pkg-config" => :build
   depends_on "python@3.9" => :build
   depends_on "icu4c"
+  depends_on "openssl"

   on_macos do
     depends_on "macos-term-size"

Also I kind of agree with Mike about using nvm to manage the different local node versions.

But for security, it is also highly recommended to upgrade to latest supported macOS version (which Homebrew would have bottles to support it as well).

Related