镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

Nodejs 14.x doesn't compile on ARM OSX (M1) #36161

Description

@sreuter
  • Version: 14.15.1
  • Platform: Darwin funkhirsch.local 20.1.0 Darwin Kernel Version 20.1.0: Sun Oct 18 15:32:00 PDT 2020; root:xnu-7195.41.8~9/RELEASE_ARM64_T8101 arm64

What steps will reproduce the bug?

  1. Download latest src (14.15.1)
  2. Run ./configure
  3. Run make

Or alternative try nvm install 14 if you have nvm installed.

How often does it reproduce? Is there a required condition?

No condition required apart from trying this on a new ARM based Mac.

What is the expected behavior?

Compile succeeds, everybody happy.

What do you see instead?

Compile fails, everybody sad.

make[1]: *** No rule to make target `/Users/mtn/src/node-v14.15.1/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/ssl_quic.o', needed by `/Users/mtn/src/node-v14.15.1/out/Release/libopenssl.a'.  Stop.
make[1]: *** Waiting for unfinished jobs....
  cc -o /Users/mtn/src/node-v14.15.1/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/ssl_mcnf.o ../deps/openssl/openssl/ssl/ssl_mcnf.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_BN_ASM_MONT' '-DSHA1_ASM' '-DSHA256_ASM' '-DSHA512_ASM' '-DKECCAK1600_ASM' '-DVPAES_ASM' '-DECP_NISTZ256_ASM' '-DPOLY1305_ASM' '-DOPENSSLDIR="/System/Library/OpenSSL/"' '-DENGINESDIR="/dev/null"' -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-arm64-cc/asm_avx2 -I../deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/include -I../deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/crypto -I../deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/crypto/include/internal  -O3 -gdwarf-2 -mmacosx-version-min=10.13 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -Wno-missing-field-initializers -fno-strict-aliasing -MMD -MF /Users/mtn/src/node-v14.15.1/out/Release/.deps//Users/mtn/src/node-v14.15.1/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/ssl_mcnf.o.d.raw   -c
make: *** [node] Error 2

Activity

  1. chadbrewbaker commented on Nov 18, 2020

    @chadbrewbaker

    See #36160 . I got it to compile on M1 but a test was broken.
    --- Edit
    My bad didn't see you were checking out some back port branch.

  2. aduh95 commented on Nov 18, 2020

    @aduh95
    Contributor

    As you can see in https://github.com/nodejs/node/blob/master/BUILDING.md#platform-list, Apple Silicon is not supported on current release line. There are folks working on making it happen though (see nodejs/build#2474), and you may get lucky with master branch as @chadbrewbaker pointed out.

    I'm closing this as there is no actionable step for now, I suggest subscribing to the other issue if you want to be kept updated.

  3. added
    duplicateIssues and PRs that are duplicates of other issues or PRs.
    on Nov 18, 2020
  4. AshCripps commented on Nov 18, 2020

    @AshCripps
    Member

    14.x doesnt have the require code to compile on apple silicon - and likely wont as its requires V8 8.6 which is only in 15.x and master

  5. adchawla commented on Nov 19, 2020

    @adchawla

    @AshCripps : With that you mean 14.x will not be supported on Apple Silicon ever. In that case we have to wait for 16.x to use in production environments.

  6. aduh95 commented on Nov 19, 2020

    @aduh95
    Contributor

    @AshCripps : With that you mean 14.x will not be supported on Apple Silicon ever.

    @adchawla Until Apple Silicon support gets backported to v14 – that would probably require a good chunk of work, but if someone wants to sent a PR, I'm sure they would be warmly welcomed.

  7. AshCripps commented on Nov 19, 2020

    @AshCripps
    Member

    It's unlikely as the V8 version has breaking changes, so unless people are willing to pick out the relavent bits and back port them

  8. ljharb commented on Nov 20, 2020

    @ljharb
    SponsorMember

    @adchawla you can use node 15 in production environments - every version of node is stable.

  9. added a commit that references this issue on Mar 9, 2021
  10. added a commit that references this issue on Sep 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateIssues and PRs that are duplicates of other issues or PRs.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions