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

Use devtoolset-6 for s390x on node gt 11.x #1754

Merged
merged 2 commits into from
Apr 15, 2019
Merged

Use devtoolset-6 for s390x on node gt 11.x #1754

merged 2 commits into from
Apr 15, 2019

Conversation

sam-github
Copy link
Contributor

@sam-github sam-github commented Apr 5, 2019

Depends on #1755

@sam-github
Copy link
Contributor Author

devtoolset-6 is authorized for use on IBM systems (and the s390x boxes are IBM systems) for the purposes Node.js would use it for, but installing it requires downloading RPMs through an authenticated portal. I don't see how this can be ansibled, so I created /data/devtoolset-6-s390x-rpms/ on the 3 s390x boxes. I installed it on only -3, using yum install /data/devtoolset-6-s390x-rpms/*.rpm. I haven't done this on the other 2 yet. Or added docs to the README on this manual setup task.

/to @mhdawson

@sam-github
Copy link
Contributor Author

It appears to me that devtoolset does indeed build more portable binaries, even with no additional configuration. See:

[root@test-linuxonecc-rhel72-s390x-3 data]# docker run --rm -it -v /home/iojs/sam-github:/sam-github rhel:7.6 /sam-github/node-gcc -p process.versions
/sam-github/node-gcc: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /sam-github/node-gcc)
[root@test-linuxonecc-rhel72-s390x-3 data]# docker run --rm -it -v /home/iojs/sam-github:/sam-github rhel:7.5 /sam-github/node-devtools -p process.versions
{ node: '12.0.0-pre',
  v8: '7.4.288.18-node.16',
  uv: '1.27.0',
  zlib: '1.2.11',
  brotli: '1.0.7',
  ares: '1.15.0',
  modules: '72',
  nghttp2: '1.37.0',
  napi: '4',
  llhttp: '1.1.1',
  http_parser: '2.8.0',
  openssl: '1.1.1b',
  cldr: '34.0',
  icu: '63.1',
  tz: '2018e',
  unicode: '11.0' }
[root@test-linuxonecc-rhel72-s390x-3 data]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.6 (Maipo)

@mhdawson
Copy link
Member

mhdawson commented Apr 9, 2019

We might want to leave this PR with the selection being gcc6, until we get the ansible changes in to help install the dev toolset as well?

EDIT: Nevermind, my confusion. There is a separate PR for gcc6 and this one is focused on the dev toolset.

@mhdawson
Copy link
Member

mhdawson commented Apr 9, 2019

We've discussed this approach for the dev toolset. Store the rpms on one of the s390 machines and then have ansible pull/install from there when it is run. This is because we believe the licence allows them to be on IBM machines (which the ones in the community are) but not otherwise redistributed. This approach is not perfect but a step better than simply manually installing on all machines.

@sam-github sam-github changed the title Add devtoolset-6 for s390x on node gt 11.x Use devtoolset-6 for s390x on node gt 11.x Apr 11, 2019
@sam-github sam-github marked this pull request as ready for review April 11, 2019 22:52
NODE_NAME is not defined when not running with jenkins, so anyone trying
to do builds directly has to read the script and deduce that NODE_NAME
has to be set, and to what it has to be set, or the script will silently
do nothing.
Copy link
Member

@mhdawson mhdawson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@mhdawson mhdawson merged commit cf02bff into nodejs:master Apr 15, 2019
@mhdawson
Copy link
Member

Landed as cf02bff

@rvagg rvagg mentioned this pull request Apr 16, 2019
25 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants