-
Notifications
You must be signed in to change notification settings - Fork 30.5k
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
Cannot build 4.3.2 on OS X 10.8.5 #5550
Comments
Not seeing the errors on a second system running OS X 10.10.1. |
Out of curiosity, what does |
On our 10.8.5 system (fails):
on 10.10.1 (passes):
|
@richardlau Also pointed out this may be an upstream issue, see https://www.mail-archive.com/openssl-dev%40openssl.org/msg43040.html |
If that's real gcc, I believe you need to use gcc 4.8.x or newer (in general). |
Works for me on 10.8.5 with this:
|
For comparison (our 10.8.5):
|
@bnoordhuis what is From the openssl thread it looks like there is an alternative patch that someone tested that is building, so we at least have confirmation that this is happening in the wild |
|
Applying the patch suggested on the OpenSSL mailing list appears to resolve the issue https://github.com/openssl/openssl/pull/597/files. Here are some examples of assembler (asm_obsolete) generated before and after the patch. Before:
After:
Regenerating the asm folder shows similar issues but in fewer places, but I really don't understand why @bnoordhuis is not seeing this issue, the build system decides to use asm or asm_obsolete based on: https://github.com/nodejs/node/blob/master/deps/openssl/openssl.gypi#L1043 so he should also be falling back to asm_obsolete folder. @bnoordhuis does your machine compile the assembler from the asm or asm_obsolete folders? In fact, the checks done in https://github.com/nodejs/node/blob/master/configure#L442:L463 appear to fail completely on the latest OS X because the banner of clang has changed:
Therefore my machine fails to use the higher performance code path despite having support for AVX2. |
@stefanmb would you be willing to send a PR to fix the |
@thealphanerd Sure, as soon as I figure out how to interpret the newer version numbers. :) Based on https://en.wikipedia.org/wiki/Xcode#Version_comparison_table everything after clang-500.2.75 should be okay. |
asm_obsolete. I noticed it uses
|
@bnoordhuis I have access to @richardlau's machine and that's what I used to test the fix. Now, looking at that assembler, it's obvious those immediates have the same values but in different bases, I wonder if certain versions of the toolchain can understand binary as well as base10. |
@thealphanerd As requested, I've fixed the clang detection for OS X: #5553 |
@bnoordhuis Running the offending line with cc (or c++) works, gcc does not! |
@richardlau @bnoordhuis So I can confirm by removing "export CC=gcc" from the build scripts (ours, not Node's) everything is resolved. This problem may break others, but I'm not sure if there is anything else to do at this point other than keep a record of the problem. Thanks for the help! |
Thanks @stefanmb |
Getting compilation errors on OS X 10.8.5 with v4.3.2 (previous versions, e.g. v4.3.1, built successfully on the same system) that must be related to the OpenSSL update (since that's the only thing that changed):
gist of complete build log
The text was updated successfully, but these errors were encountered: