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

Clang 4.2 breakage, Node 5.2.0 #4284

Closed
DomT4 opened this issue Dec 15, 2015 · 4 comments · Fixed by #4290
Closed

Clang 4.2 breakage, Node 5.2.0 #4284

DomT4 opened this issue Dec 15, 2015 · 4 comments · Fixed by #4290
Labels
build Issues and PRs related to build files or the CI. macos Issues and PRs related to the macOS platform / OSX.

Comments

@DomT4
Copy link

DomT4 commented Dec 15, 2015

Hey Folks,

Had a report over at Homebrew of Node failing to build on OS X 10.7.5. It works built against GCC 5.x but fails against the system Clang, which is 4.2. As far as the README on the Node repo here states it should compile fine against that version of Clang.

I reproduced the failure on our testing infrastructure to check the reported error wasn't potentially user-related. Error is at the bottom of this gist but:

In file included from ../src/debug-agent.h:26:
../src/util-inl.h:206:14: error: use of undeclared identifier '__builtin_bswap16'
    dst[i] = __builtin_bswap16(src[i]);
             ^
In file included from ../test/cctest/util.cc:2:
../src/util-inl.h:206:14: error: use of undeclared identifier '__builtin_bswap16'
    dst[i] = __builtin_bswap16(src[i]);
             ^
In file included from ../src/fs_event_wrap.cc:2:

More or less that error reproduced through a bunch of files.

Just wanted to check whether or not the breakage is known and whether the Clang breakage for that version is an intentional thing.

@jbergstroem
Copy link
Member

@DomT4 a big problem for us is that we have no 10.7 or 10.8 (or 10.9, 10.11) to test against in the ci cluster. As far as I know we intend to support 10.7, but since we don't test each commit its tricky to uphold.

@DomT4
Copy link
Author

DomT4 commented Dec 15, 2015

Can sympathise. We recently changed one of our Travis testing jobs (We use two CIs, Travis and Jenkins) to build using Ruby 1.8.x because we discovered pretty regularly we were merging code that because it was no longer being tested against older Ruby versions it'd break Homebrew on those platforms. It's a pain trying to cover every possible use case with CI.

I don't know if that sort of solution would be practical for you at all, using Travis to do commit testing on OS X 10.9 and 10.11 at least. As far as I know they don't offer anything older though, which still stumbles into this issue.

We can solve it on our end by enforcing usage of GCC-5 for the build on Lion, but thought the report upstream may be handy in some way.

@jbergstroem jbergstroem added macos Issues and PRs related to the macOS platform / OSX. build Issues and PRs related to build files or the CI. labels Dec 15, 2015
@bnoordhuis
Copy link
Member

#4290

bnoordhuis added a commit to bnoordhuis/io.js that referenced this issue Dec 15, 2015
Not supported by apple-gcc and I'm not convinced it's worth adding more
preprocessor hacks when it should be easy as pie for the compiler to
to optimize the byteswap.  If it doesn't, fix the compiler.

Fixes: nodejs#4284
PR-URL: nodejs#4290
Reviewed-By: Colin Ihrig <[email protected]>
@DomT4
Copy link
Author

DomT4 commented Dec 15, 2015

Thanks Ben! Appreciate the fix.

bnoordhuis added a commit that referenced this issue Dec 15, 2015
Not supported by apple-gcc and I'm not convinced it's worth adding more
preprocessor hacks when it should be easy as pie for the compiler to
to optimize the byteswap.  If it doesn't, fix the compiler.

Fixes: #4284
PR-URL: #4290
Reviewed-By: Colin Ihrig <[email protected]>
bnoordhuis added a commit that referenced this issue Dec 15, 2015
Not supported by apple-gcc and I'm not convinced it's worth adding more
preprocessor hacks when it should be easy as pie for the compiler to
to optimize the byteswap.  If it doesn't, fix the compiler.

Fixes: #4284
PR-URL: #4290
Reviewed-By: Colin Ihrig <[email protected]>
MylesBorins pushed a commit that referenced this issue Feb 17, 2016
Not supported by apple-gcc and I'm not convinced it's worth adding more
preprocessor hacks when it should be easy as pie for the compiler to
to optimize the byteswap.  If it doesn't, fix the compiler.

Fixes: #4284
PR-URL: #4290
Reviewed-By: Colin Ihrig <[email protected]>
MylesBorins pushed a commit that referenced this issue Feb 18, 2016
Not supported by apple-gcc and I'm not convinced it's worth adding more
preprocessor hacks when it should be easy as pie for the compiler to
to optimize the byteswap.  If it doesn't, fix the compiler.

Fixes: #4284
PR-URL: #4290
Reviewed-By: Colin Ihrig <[email protected]>
MylesBorins pushed a commit that referenced this issue Mar 2, 2016
Not supported by apple-gcc and I'm not convinced it's worth adding more
preprocessor hacks when it should be easy as pie for the compiler to
to optimize the byteswap.  If it doesn't, fix the compiler.

Fixes: #4284
PR-URL: #4290
Reviewed-By: Colin Ihrig <[email protected]>
scovetta pushed a commit to scovetta/node that referenced this issue Apr 2, 2016
Not supported by apple-gcc and I'm not convinced it's worth adding more
preprocessor hacks when it should be easy as pie for the compiler to
to optimize the byteswap.  If it doesn't, fix the compiler.

Fixes: nodejs#4284
PR-URL: nodejs#4290
Reviewed-By: Colin Ihrig <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. macos Issues and PRs related to the macOS platform / OSX.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants