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

Missing symbol running v10 on s390x #25774

Closed
nealef opened this issue Jan 28, 2019 · 18 comments
Closed

Missing symbol running v10 on s390x #25774

nealef opened this issue Jan 28, 2019 · 18 comments
Labels
s390 Issues and PRs related to the s390 architecture.

Comments

@nealef
Copy link

nealef commented Jan 28, 2019

  • Version: v10
  • Platform: s390x
  • Distribution: RHEL 7.6

When running on RHEL 7 running the node command results in a message: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found.

@mhdawson
Copy link
Member

@nodejs/platform-s390

@nealef have you tried on other versions of RHEL 7 as well ?

@gdams can you see if you can recreate on our internal RHEL 7 machines?

@nealef
Copy link
Author

nealef commented Jan 28, 2019

Versions (7.5)? Or platforms (x86_64)?

@mhdawson
Copy link
Member

I meant versions like 7.5 etc. Trying to narrow down were we should try to reproduce. Understood that this is reported as an s390x only issue.

@nealef
Copy link
Author

nealef commented Jan 28, 2019

Yes, same problem on 7.5 as well. We had a similar problem with openJDK-11 which also uses the J9 engine from IBM.

@nealef
Copy link
Author

nealef commented Jan 28, 2019

It works on Ubuntu:

NAME="Ubuntu"
VERSION="18.04.1 LTS (Bionic Beaver)"

This system uses gcc 7.3.0 though.

@richardlau
Copy link
Member

Node.js 10 requires gcc 4.9.4 or higher: https://github.com/nodejs/node/blob/v10.x/BUILDING.md#supported-toolchains

According to https://access.redhat.com/solutions/19458 the default gcc on RHEL7 is 4.8.x.

@mhdawson
Copy link
Member

x86 has the RHEL Developer toolset and more importantly a centos version that makes things easier on x86 so that's what I expected.

For s390, the community builds/tests on RHEL72 but needs the 4.9.4 compiler due to requirements from V8.

@mhdawson
Copy link
Member

mhdawson commented Jan 28, 2019

Assuming 7.6 still has 4.8.x as mentioned by @richardlau I'm not surprised that you need to add the 4.9.4 compiler or at least libstdc++ from the 4.9.4 compiler, was just not expecting it to be reported as needing something from libc.

@nealef
Copy link
Author

nealef commented Jan 28, 2019

Assuming 7.6 still has 4.8.x as mentioned by @richardlau I'm not surprised that you need to add the compiler or at least libstdc++ from the 4.9.4, was just not expecting it to be reported as needing something from libc.

My mistake with libc. It is libdstdc++ from gcc.

@mhdawson
Copy link
Member

@nealef ah, that makes sense then. You will need to add the updated libstdc++ to your ld_library_path as that is expected behaviour. Unfortunate but we did not want to start statically linking things in a way that is different for s390x than for other platforms so it's one of the requirements for running 10.x on versions that have a default compiler earlier than 4.9.X

@nealef
Copy link
Author

nealef commented Jan 28, 2019

But there is no 4.9.x for RHEL on s390x. x86_64 CentOS 7 also only has 4.8.5. From where did your dev systems get the updated libstdc++?

@mscdex
Copy link
Contributor

mscdex commented Jan 28, 2019

Perhaps from a devtoolset?

@richardlau
Copy link
Member

I think we're building it from source: nodejs/build#1157

@nealef
Copy link
Author

nealef commented Jan 29, 2019

Perhaps from a devtoolset?

Do you have a RHEL7 (x86_64) where it's running? If so, would you rpm -q -f rpm -q -f /lib64/libstdc++.so.*

@nealef
Copy link
Author

nealef commented Jan 29, 2019

I saw from #1157 that you're installing your own 4.9.4. I also mentioned in that issue that SCLO is available for s390x. I believe RHEL now has a subset which includes devtoolset-6/7/8. It's also available from our CentOS clone ClefOS.

@ChALkeR ChALkeR added the s390 Issues and PRs related to the s390 architecture. label Jan 29, 2019
@richardlau
Copy link
Member

Is this closeable now?

@nealef
Copy link
Author

nealef commented Feb 15, 2019

I think so. I had been trying with the RH SCLO devtoolset-7 to provide the appropriate library but had a couple of unrelated issues. I am curious as to what is in 4.9.4 that is required?

@richardlau
Copy link
Member

I think so. I had been trying with the RH SCLO devtoolset-7 to provide the appropriate library but had a couple of unrelated issues. I am curious as to what is in 4.9.4 that is required?

For reference, #13466 is where the version was bumped from 4.8.5 to 4.9.4.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
s390 Issues and PRs related to the s390 architecture.
Projects
None yet
Development

No branches or pull requests

5 participants