| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
Sadly, an error occurred when I tried to trigger a build. :( |
Sorry, something went wrong.
|
@nodejs/build macos failed with no library found for -latomic. |
Sorry, something went wrong.
|
@devsnek do you have any suggestions for actions for Build here? Sounds like a blocker if this won't pass on one the platforms you're intending to impact. |
Sorry, something went wrong.
|
@devsnek Are you building Node.js in a non-standard way (shared library or similar)? If this is already a dep for V8, I’m even more surprised that you’ve run into trouble… |
Sorry, something went wrong.
|
I just pulled and ran make on a wsl debian install. i didn't configure it weirdly or anything. |
Sorry, something went wrong.
|
@devsnek can you provide more platform information, like gcc (I assume its gcc) version, and uname output? |
Sorry, something went wrong.
|
Linux xone 4.19.43-microsoft-standard #1 SMP Mon May 20 19:35:22 UTC 2019 x86_64 GNU/Linux and clang version 9.0.0 |
Sorry, something went wrong.
|
also a problem on a native (not wsl) linux i just set up (Linux xone 4.19.49-1-MANJARO #1 SMP PREEMPT Sun Jun 9 20:24:20 UTC 2019 x86_64 GNU/Linux, clang-8.0.0) |
Sorry, something went wrong.
|
I'm going to guess the issue is Clang does not currently automatically link against libatomic when using libgcc_s. You may need to manually add -latomic to support this configuration when using non-native atomic operations (if you see link errors referring to __atomic_* functions). (https://clang.llvm.org/docs/Toolchain.html) Perhaps we should get a linux clang ci machine? |
Sorry, something went wrong.
Unless it comes with a volunteer to maintain it, I'm not sure that extending our build infrastructure is a good idea. @nodejs/build Perhaps -latomic should be added to build platforms for all non-Windows platforms? I haven't done an investigation, but I believe this would make libatomic a build dep, even for toolchains that don't need it, which is a downside, but it could possibly make builds more consistent as an upside. One question to be answered would be if it was a build dep, would it become a runtime dep for binaries from toolchains that do not currently need libatomic? That would be backwards incompatible, so I assume a non-starter for 12.x, and maybe not a good idea for any version. Also, its not clear to me - do we officially support clang? I'm sure we would make changes to allow people who want to use clang to be able, but I'm not sure its officially supported, to the point that someone from build would go through all our machines and update their ansibles, etc., to have libatomic (if that was required after adding -latomic to all builds). Another question, for .gyp experts, is there a way to add linker flags conditionally based on the toolchain? |
Sorry, something went wrong.
Sorry, something went wrong.
Yes. We define llvm_version: Line 797 in 779a243 e.g. used to set cflags (but could be libraries as in this PR): node/deps/openssl/openssl_common.gypi Lines 66 to 69 in 128170f There's also a clang variable: Line 28 in d2634be Lines 112 to 114 in d2634be |
Sorry, something went wrong.
|
I don't have the background to approve or reject, but seems like its failing to build on at least OS X: osx/nodes/osx1011/out/Release/libv8_compiler.a /Users/iojs/build/workspace/node-test-commit-osx/nodes/osx1011/out/Release/libv8_initializers.a -latomic -framework CoreFoundation -lm 09:55:55 ld: library not found for -latomic |
Sorry, something went wrong.
|
seems like this should be (OS == "linux" or OS == "mac") and llvm_version != 0? |
Sorry, something went wrong.
|
I guess the question is if this is needed on mac as the OS X builds have not (AFAIK) been failing and do use clang by default. |
Sorry, something went wrong.
|
@richardlau i've needed it on my mac at least. |
Sorry, something went wrong.
Sorry, something went wrong.
|
checking llvm_version seems to have worked! |
Sorry, something went wrong.
Sorry, something went wrong.
|
CI didn't pass, probably needs another kick (but I'm on poor wifi ATM, can't do). |
Sorry, something went wrong.
Sorry, something went wrong.
|
it's always parallel/test-worker-debug cc @joyeecheung i am assuming the failure is unrelated to this change though. |
Sorry, something went wrong.
|
this needs approvals for the changed semantics |
Sorry, something went wrong.
Fixes nodejs#28231 PR-URL: nodejs#28232 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
If you don't support clang, you effectively don't support macOS. Please support clang and macOS. |
Sorry, something went wrong.
|
When you quoted me, you removed context, that was in response to a question about clang on linux. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Fixes #28231
cc @nodejs/build
Checklist