We shouldn't be using Ubuntu16 to build as it has a high glibc version meaning that our binaries won't run on many OSes. Switching to Rhel 6 or CentOS 6 will fix this. This will require some ansible changes I would imagine. I will start with the x64 builds.
Hotspot OpenJDK8 build passed: https://ci.adoptopenjdk.net/job/openjdk8_build_x86-64_linux_centos/
We'll need to be careful about potential issues with libffi - my RHEL6 box has libffi.so.5.0.6 which may result in us hitting the same issue described in https://github.com/AdoptOpenJDK/openjdk-infrastructure/issues/25 at some point
so in order to build openj9 we need to use gcc4.6.x or higher (CentOS 6 comes with 4.4.x so I have upgraded it to 4.8.x)
OpenJ9 OpenJDK8 build passed: https://ci.adoptopenjdk.net/job/openjdk8_openj9_build_x86-64_linux_centos/
From an eclipse openj9 perspective I would prefer not to make this change to all of the builds until after we have released since we're already testing the final release candidate and it would be necessary to complete redo the testing if we started building on a new environment, but for the next release of AdoptOpenJDK+Eclipse OpenJ9, and for AdoptOpenJDK with HotSpot I fully support this (now that I know CentOS6 will be supported til 2020!)
okay so I'm going to leave the openj9 builds to run in their existing environment and will update the hotspot builds now :)
I have switched all arm builds to use centos74 (which is the lowest level of aarch64 supported centos that I can find)
created https://github.com/AdoptOpenJDK/openjdk-infrastructure/pull/260 to track the levels more closely
I presume ppc64le/s390x the same as arm since we seem to have build-osuosl-centos74-ppc64le-1 and build-marist-rhel74-s390x-1 being used for the builds at present
OpenJ9 builds won't work on the older version of git supplied by default on RHEL7 as they require the -C parameter:
Configured the JDK
Building the JDK: calling 'make images test-image'
Unknown option: -C
usage: git [--version] [--help] [-c name=value]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
<command> [<args>]
OpenJ9.gmk:31: *** Could not determine OpenJ9 SHA. Stop.
Have the ansible scripts been run on that machine recently? With my limited ansible knowledge, this may be fixed by re-running the ansible script as it attempts to install git 2.15:
I believe that @DanHeidinga is correct! I'll run the ansible playbook on all rhel7 machines now
This will also be an issue on build-osuosl-centos74-ppc64le-1 where the default git version is ~1.8.
If you want to grant me temporary access to one or both of the machines I can review/validate setup, rerunning or fixing the ansible scripts where required and perform a test build.
@gdams Did re-running ansible on rhel7 update the version git correctly? Is there anything I do to help test out the OpenJ9 build on the centos (ie:build-osuosl-centos74-ppc64le-1) ?
I believe the current ansible scripts work with OpenJ9 machines. @sxa555 @gdams is this something I can help out with; either running the ansible script on the new machines and/or manually debugging?
@jdekonin Do you mean the ones for the OpenJ9 project as opposed to the adoptopenjdk machines that build openjdk+OpenJ9? Not sure if they've ever been used on the OpenJ9 project machines so far.
Yes they have, except for windows I've done all the machine configs for OpenJ9. I run the ansible standalone without using ansible tower like I believe is done on adoptopenjdk machines.
SAP's xlinux builds are still running on the Ubuntu build machines https://ci.adoptopenjdk.net/computer/build-cloudcone-ubuntu1604-x64-1/builds
Note to self: Linux/ppc64le builds are still on Ubuntu machines
Using the following jobs to validate CentOS7 ppc64le builds:
https://ci.adoptopenjdk.net/view/work%20in%20progress/job/SXA-jdk8-linux-ppc64le-hotspot/
https://ci.adoptopenjdk.net/view/work%20in%20progress/job/SXA-jdk8-linux-ppc64le-openj9/
https://ci.adoptopenjdk.net/view/work%20in%20progress/job/SXA-jdk11-linux-ppc64le-hotspot/
https://ci.adoptopenjdk.net/job/build-scripts/job/jobs/job/jdk11/job/jdk11-linux-ppc64le-openj9/79/consoleFull
Related to this and not sure if this is the best place to raise this but it would also be helpful to update (or provide additional) guidance on https://www.eclipse.org/openj9/oj9_build.html, specifically provide equivalent https://github.com/eclipse/openj9/blob/master/buildenv/docker/jdk8/x86_64/ubuntu16/Dockerfile (for jdkX) to setup RHEL for manual AdoptOpenJDK build environments without without Docker.
@ktbriggs I don't think this is the right issue to discuss this, but https://github.com/eclipse/openj9/blob/master/buildenv/jenkins/docker-slaves/x86/centos6.9/Dockerfile should help you.
@ktbriggs I'm a bit confused by your message - you say an equivalent of the Dockerfile but end with "without Docker". Are you basically looking for the way we set up our build machines (which is with ansible and our setup scripts are in the https://github.com/AdoptOpenJDK/openjdk-infrastructure repository)
For a question like this feel free to catch us on the adoptopenjdk slack #build channel too :-)