Skip to content

node: build openssl without assembly on arm#59400

Closed
billinghamj wants to merge 1 commit intoHomebrew:masterfrom
billinghamj:node-arm-fix
Closed

node: build openssl without assembly on arm#59400
billinghamj wants to merge 1 commit intoHomebrew:masterfrom
billinghamj:node-arm-fix

Conversation

@billinghamj
Copy link
Copy Markdown
Contributor

  • Have you followed the guidelines for contributing?
  • Have you checked that there aren't other open pull requests for the same formula update/change?
  • Have you built your formula locally with brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • Is your test running fine brew test <formula>, where <formula> is the name of the formula you're submitting?
  • Does your build pass brew audit --strict <formula> (after doing brew install <formula>)?

Following Homebrew/brew#7857 (comment) - obviously fine to close if the view is that this isn't appropriate for some reason

re guidelines for contributing, I was not able to run brew audit --strict node or brew style node due to a Rubygems error, but this does match the style in #57124

@billinghamj
Copy link
Copy Markdown
Contributor Author

Without this, you get errors on compilation:

  clang -o /private/tmp/node-20200810-46863-10f8fgy/node-v14.7.0/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/bn/bn_const.o ../deps/openssl/openssl/crypto/bn/bn_const.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_HW' '-DNDEBUG' '-DOPENSSL_USE_NODELETE' '-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/67.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/linux-x86_64/asm_avx2 -I../deps/openssl/config/archs/linux-x86_64/asm_avx2/include -I../deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto -I../deps/openssl/config/archs/linux-x86_64/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/node-20200810-46863-10f8fgy/node-v14.7.0/out/Release/.deps//private/tmp/node-20200810-46863-10f8fgy/node-v14.7.0/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/bn/bn_const.o.d.raw   -c
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:120:9: error: invalid output constraint '=a' in asm
        mul_add(rp[0], ap[0], w, c1);
        ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:78:19: note: expanded from macro 'mul_add'
                : "=a"(low),"=d"(high)  \
                  ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:120:9: error: invalid output constraint '+d' in asm
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:82:31: note: expanded from macro 'mul_add'
                : "+r"(carry),"+d"(high)\
                              ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:120:9: error: invalid output constraint '+d' in asm
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:86:27: note: expanded from macro 'mul_add'
                : "+m"(r),"+d"(high)    \
                          ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:121:9: error: invalid output constraint '=a' in asm
        mul_add(rp[1], ap[1], w, c1);
        ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:78:19: note: expanded from macro 'mul_add'
                : "=a"(low),"=d"(high)  \
                  ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:121:9: error: invalid output constraint '+d' in asm
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:82:31: note: expanded from macro 'mul_add'
                : "+r"(carry),"+d"(high)\
                              ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:121:9: error: invalid output constraint '+d' in asm
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:86:27: note: expanded from macro 'mul_add'
                : "+m"(r),"+d"(high)    \
                          ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:122:9: error: invalid output constraint '=a' in asm
        mul_add(rp[2], ap[2], w, c1);
        ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:78:19: note: expanded from macro 'mul_add'
                : "=a"(low),"=d"(high)  \
                  ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:122:9: error: invalid output constraint '+d' in asm
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:82:31: note: expanded from macro 'mul_add'
                : "+r"(carry),"+d"(high)\
                              ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:122:9: error: invalid output constraint '+d' in asm
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:86:27: note: expanded from macro 'mul_add'
                : "+m"(r),"+d"(high)    \
                          ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:123:9: error: invalid output constraint '=a' in asm
        mul_add(rp[3], ap[3], w, c1);
        ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:78:19: note: expanded from macro 'mul_add'
                : "=a"(low),"=d"(high)  \
                  ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:123:9: error: invalid output constraint '+d' in asm
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:82:31: note: expanded from macro 'mul_add'
                : "+r"(carry),"+d"(high)\
                              ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:123:9: error: invalid output constraint '+d' in asm
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:86:27: note: expanded from macro 'mul_add'
                : "+m"(r),"+d"(high)    \
                          ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:129:9: error: invalid output constraint '=a' in asm
        mul_add(rp[0], ap[0], w, c1);
        ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:78:19: note: expanded from macro 'mul_add'
                : "=a"(low),"=d"(high)  \
                  ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:129:9: error: invalid output constraint '+d' in asm
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:82:31: note: expanded from macro 'mul_add'
                : "+r"(carry),"+d"(high)\
                              ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:129:9: error: invalid output constraint '+d' in asm
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:86:27: note: expanded from macro 'mul_add'
                : "+m"(r),"+d"(high)    \
                          ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:132:9: error: invalid output constraint '=a' in asm
        mul_add(rp[1], ap[1], w, c1);
        ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:78:19: note: expanded from macro 'mul_add'
                : "=a"(low),"=d"(high)  \
                  ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:132:9: error: invalid output constraint '+d' in asm
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:82:31: note: expanded from macro 'mul_add'
                : "+r"(carry),"+d"(high)\
                              ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:132:9: error: invalid output constraint '+d' in asm
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:86:27: note: expanded from macro 'mul_add'
                : "+m"(r),"+d"(high)    \
                          ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:135:9: error: invalid output constraint '=a' in asm
        mul_add(rp[2], ap[2], w, c1);
        ^
../deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c:78:19: note: expanded from macro 'mul_add'
                : "=a"(low),"=d"(high)  \
                  ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[1]: *** [/private/tmp/node-20200810-46863-10f8fgy/node-v14.7.0/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [node] Error 2

@BrewTestBot BrewTestBot added the python Python use is a significant feature of the PR or issue label Aug 10, 2020
@claui claui added the 11 Big Sur is specifically affected label Aug 10, 2020
@billinghamj
Copy link
Copy Markdown
Contributor Author

Looks like it's all good to go! 🙂

@BrewTestBot
Copy link
Copy Markdown
Contributor

🤖 A scheduled task has triggered a merge.

@billinghamj billinghamj deleted the node-arm-fix branch August 10, 2020 15:16
@billinghamj
Copy link
Copy Markdown
Contributor Author

Now that nodejs/node#34238 has been included with Node v14.10.0, this patch should no longer be required I don't think

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

11 Big Sur is specifically affected python Python use is a significant feature of the PR or issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants