-
Notifications
You must be signed in to change notification settings - Fork 30.2k
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
12.11.0 on PPCLE requires libatomic.so.1 #29718
Comments
I think 12.11.0 is the first PPCLE 12.x release we've done on Centos 7 (nodejs/build#1885) instead of the End-of-Life Ubuntu 14.04. cc @nodejs/platform-ppc @sam-github |
I can confirm that a simple |
Just found that my description regarding the used platform is incomplete. |
FYI @sam-github |
It was my observation and intention that devtoolset builds on centos7 would statically link in more of the lib dependencies, avoiding this problem. I'm looking into why that didn't happen, but rebuilds are bit slow because of nodejs/build#1927 |
I don't think the toolset handles libraries other that libc++ |
So far I have confirmed that linking on ubuntu14.04 with g++-6 uses On ubuntu/gcc-6 the linked executable has no dependency on libatomic, and on centos/devtoolset-6 it does. So the open question might be not why centos7 does depend on the specified libs, but why ubuntu doesn't. I'll keep poking at this. |
@Flarna I removed the part of your description where it listed the dependency on What I've found so far is:
As to why that is, or what can be done about it, still looking. On our side, the obvious fix would be to not specify unnecessary libraries on the node link lines. I tried removing @targos any comment on that? The link libs seem to have been added with V8 7.5, #28005 from #27375, but since v8 doesn't build on ppc64le (to my knowlege), they might just have added them to be safe, on the assumption they'd be unused if they weren't needed. |
@nodejs/v8 see above, any comment on what I asked targos? |
This is the relevant config in V8's BUILD.gn: https://github.com/v8/v8/blob/318d66d95f94487cdac2322795a63ea613ef943b/BUILD.gn#L3381-L3388 We own |
MIPS architecture doesn't have support for 64-bit atomics. It is possible to implement them using 32-bit atomics, but the process is involved and takes time. For the time being support 64-bit atomics using runtime. Bug: v8:8100 Change-Id: I8c732ea9975c46be70643a1e722d78938c8a70de Reviewed-on: https://chromium-review.googlesource.com/1251521 Commit-Queue: Ivica Bogosavljevic <[email protected]> Reviewed-by: Jakob Kummerow <[email protected]> Cr-Commit-Position: refs/heads/master@{#56331}
I asked about its purpose in v8/v8@408896a#r35254481 |
It is not needed, and causes an unnecessary runtime dependency with some linkers, such as devtoolset-6 on centos7-ppc64le. See: nodejs#29718
@nodejs/releasers note that 10.x is also switching to centos7 ppcle. I doesn't depend on libatomic, but it does depend on librt.so.1, and that is new i n10.16.4
Speculative fix: #29729 |
The library is not necessary for ppc64 or s390x. It does no harm with some linkers, but devtoolset-6 creates runtime dependencies on all link libraries, even unused ones. Fixes: nodejs#27377 Fixes: nodejs#29718
It is not needed, and causes an unnecessary runtime dependency with some linkers, such as devtoolset-6 on centos7-ppc64le. See: #29718 PR-URL: #29729 Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Beth Griggs <[email protected]> Reviewed-By: David Carlier <[email protected]>
PR-URL: #29727 Fixes: #27377 Fixes: #29718 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: James M Snell <[email protected]>
The library is not necessary for ppc64 or s390x. It does no harm with some linkers, but devtoolset-6 creates runtime dependencies on all link libraries, even unused ones. Fixes: #27377 Fixes: #29718 PR-URL: #29727 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: James M Snell <[email protected]>
PR-URL: #29727 Fixes: #27377 Fixes: #29718 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: James M Snell <[email protected]>
@sam-github |
node.js 12.11.0 is not starting up on my PPCLE machine where 12.10.0 was running fine.
Error seen:
node: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory
It seems that 12.11.0 has new dependencies to
libatomic.so.1
andlibrt.so.1
:Is this an intended change?
The text was updated successfully, but these errors were encountered: