-
Notifications
You must be signed in to change notification settings - Fork 30.3k
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
Unable to build 4.5.0 LTS on Darwin #8636
Comments
This might be also related to update to Xcode 8 with Clang 8:
|
/cc @nodejs/lts @nodejs/build |
I believe Xcode 8 defaults to libc++ rather than libstdc++. We no longer use anything from TR1 in master but for v4, we probably need to set diff --git a/common.gypi b/common.gypi
index 811a7b3..8007b41 100644
--- a/common.gypi
+++ b/common.gypi
@@ -300,6 +300,7 @@
'defines': ['_DARWIN_USE_64_BIT_INODE=1'],
'xcode_settings': {
'ALWAYS_SEARCH_USER_PATHS': 'NO',
+ 'CLANG_CXX_LIBRARY': 'libstdc++',
'GCC_CW_ASM_SYNTAX': 'NO', # No -fasm-blocks
'GCC_DYNAMIC_NO_PIC': 'NO', # No -mdynamic-no-pic
# (Equivalent to -fPIC) Switching to libc++ is not an option (in v4) because that would break ABI. |
Since which version Node requires GCC/GNU-based base system? I need to revert to latest that worked perfectly with libc++. AFAIR there's no libstdc++ in both Darwin 10.11+, and FreeBSD 10+, 11+. |
I tried applying that patch on 6.6 - frankly that caused this bug from 4.4.. http://ół.pl/e6877a7241e538c5a892eb8995f24220.png without patch 6.6 builds fine (when using LLVM Linker instead Apple built in one). |
Your original report is about v4.5.0? Did you try the patch with that version? Also, can you upload images to GH? That external site you are linking to is timing out for me. Better yet, if it's plain text, just paste it into a gist if it's long or in a comment if it's short. |
To be thorough, I set up a virtual machine with OSX 10.11.6 (all available updates applied), installed Xcode 8 (default settings,
The result was few minor warnings during V8 compilation (nothing critical) and warning from clang:
No errors. I'm unable to reproduce the 4.5.0 LTS compilation issue and not quite sure what exactly needs to be modified in vanilla environment to make it fail compiling. |
I linked explicitly with libc++ under Darwin by default. That's interesting issue anyway - cause LLVM claims to have ABI compatibility of libc++ and libstdc++.. |
Heh, after linking with libstdc++ ... issue remained the same:
but: http://ół.pl/5a9167ffc6dc337ba8d80244f3b73e8c.png |
Are you sure You're testing that on box with both ipv4 and ipv6 routable addresses? |
Care to explain how the ipv4 and ipv6 routable addresses are relevant for I'm able to build, test and run Node.js 4.5.0 LTS from source tarball on vanilla OSX 10.11.6 and Xcode 8. The virtual machine I tested in has only IPv4 connectivity but I really don't think that affects the I'd suggest you take a clean environment (both OS and network infrastructure) and verify the results there and then iterate towards to your current build environment to find out what differs. |
Build issue with libc++ vs libstdc++ is common issue - affects both 4.x and 6.x. You closed unresolved issue so I'm showing you here that it turns out to be the same issue. I will fix it myself. I don't have time for your politics. |
LLVM claims no such thing. Some of the low-level plumbing like RTTI and exception handling is ABI-compatible, high-level stuff such as the STL is not. You may be confusing libc++ with libc++abi - similar names, different things.
If you are going to keep up the antagonistic attitude, then yes, it's better that you go away and don't come back. You are welcome here but not when you act like that. |
OSX 10.11, Darwin 15.6.0 - x86_64:
Building Node exactly same way as I did build 6.6.0 before:
http://ół.pl/3227d2ab6afa3d0db94973a7e02d33b4.png
The text was updated successfully, but these errors were encountered: