-
Notifications
You must be signed in to change notification settings - Fork 27
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
Create / link to more detailed build instructions #25
Comments
I've created a more detailed set of build instructions for OpenJDK9 with OpenJ9. There are placeholders for AIX and Windows there, when we are ready. This all needs checking and verifying, and there may be more instructions to interleave. Where should these go? In this repo, linked to from the website or in the openj9 repo, alongside the Dockerfiles? Pasting the content of my markdown file here: Building OpenJDK 9 with OpenJ9Our website describes a simple build process However, if you want to build OpenJDK 9 with OpenJ9 directly on your system or in a virtual Building with Docker🐳 1. Prepare your system🐳 The first thing you need to do is install Docker. You can download the free Community edition from here, which also contains instructions for installing Docker on your system. You should also read the Getting started guide to familiarise yourself with the basic Docker concepts and terminology. We've created Dockerfiles that you can use to build and run containers that have all the correct pre-requisites. Dockerfiles are available for the following platforms: Either download one of these Dockerfiles to your local system or copy and paste one of the following commands:
Next, run the following command to build a Docker image, called openj9:
Start a Docker container from the openj9 image with the following command:
where 📝 Depending on your Docker system configuration, you might need to prefix these commands with 2. Get the source🐳
Cloning this repository can take a while because OpenJDK is a large project! When the process is complete, change directory into the cloned repository:
Now fetch additional sources from the Eclipse OpenJ9 project and its clone of Eclipse OMR:
3. Configure🐳
📝 You must give an absolute path to freemarker.jar 4. Build🐳
Two Java builds are produced: a full developer kit (jdk) and a runtime environment (jre):
where <platform> reflects the Dockerfile you chose. For example, the directory for Linux 64-bit on x86 systems is: linux-x86_64-normal-server-release Copy the binaries to the containers /root/hostdir directory so that you can access them on your local system. You'll find them in the directory you set for 5. Test🐳
Here is some sample output:
🐳 Congratulations! 🎉 Linux🐧 If you are using a different Linux distribution, you might have to review the list of libraries that are bundled with your distribution and/or modify the instructions to use equivalent commands to the Advanced Packaging Tool (APT). For example, for Centos, substitute the If you want to build a binary for Linux on a different architecture, such as Power Systems™ or z Systems™, the process is very similar and any additional information for those architectures are included as Notes 📝 as we go along. 1. Prepare your system🐧 📝 We'll break this down into individual steps.
📝
2. Get the source🐧
Cloning this repository can take a while because OpenJDK is a large project! When the process is complete, change directory into the cloned repository:
Now fetch additional sources from the Eclipse OpenJ9 project and its clone of Eclipse OMR:
3. Configure🐧
4. Build🐧
Two Java builds are produced: a full developer kit (jdk) and a runtime environment (jre)
📝 5. Test🐧
Run:
Here is some sample output:
🐧 Congratulations! 🎉 AIX📘 🚧 Windows📒 🚧 |
@mstoodle @pshipton @DanHeidinga Do you have a different view on the location or shall I go ahead and create a PR? |
The |
The sample |
I suggest this should go under the existing |
Thanks @keithc-ca "The apt-get install command is missing (the recently added) libdwarf-dev package."
"The sample -version output is old: it still lists a JIT sha and is missing the jdk-181 tag."
"I suggest this should go under the existing doc directory, perhaps in a new buildenv folder."
|
The docs directory is intended to be documentation about OpenJ9 from a developer perspective. What's the thinking on splitting documentation into yet-another-repo? |
My preference is to put the doc as close to the code as possible so @SueChaplain's suggestion of a new I'd even go one step further and do away with the docs directory by adding the content to a |
Looks really good, @SueChaplain ! Thanks for putting this together and I agree with Dan's comment about where it should go. |
Hi @mgaudet "The docs directory is intended to be documentation about OpenJ9 from a developer perspective. What's the thinking on splitting documentation into yet-another-repo?"
|
I'd love to see the OpenJ9 repo itself get processed into an MkDocs site, for the purpose of building out "hacking on OpenJ9" documentation. |
Current 'java -version' output:
|
Steps 2, 3, 4, 5 should be the same for both docker and non-docker, although I see there is an extra suggestion for docker (Copy the binaries to the containers /root/hostdir directory). Can we have a single copy of these steps, with a docker addendum in the steps that need it? This means only a single version to keep up to date, and the steps won't diverge from each other. I see the docker version of step 3 already has extra information missing from the non-docker version (You must give an absolute path to freemarker.jar). |
The danger of relying on people seeing that clause about looking in Dockerfile is that they won't (I didn't). If the command were intentionally incomplete, they won't have a choice. Perhaps the advice ought to be to find the command that begins with the following:
|
Build instructions now visible here: https://github.com/eclipse/openj9/blob/master/buildenv/Build_Instructions_V9.md We still need to link to these from the website. |
Windows added in eclipse-openj9/openj9#521 |
Two sets now in place. New issues will be created to capture work for new platforms. https://github.com/eclipse/openj9/blob/master/buildenv/Build_Instructions_V9.md |
Covering:
Location of build instructions:
The text was updated successfully, but these errors were encountered: