Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

node: build openssl without assembly on arm #59400

Closed
wants to merge 1 commit into from

Conversation

billinghamj
Copy link
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
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
Contributor Author

Looks like it's all good to go! 🙂

@BrewTestBot
Copy link
Member

🤖 A scheduled task has triggered a merge.

@billinghamj billinghamj deleted the node-arm-fix branch August 10, 2020 15:16
@billinghamj
Copy link
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.

None yet

4 participants