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

Build JITaaS with the same OpenSSL as the rest of OpenJ9 #5720

Closed
ymanton opened this issue May 9, 2019 · 3 comments
Closed

Build JITaaS with the same OpenSSL as the rest of OpenJ9 #5720

ymanton opened this issue May 9, 2019 · 3 comments
Labels
comp:jitserver Artifacts related to JIT-as-a-Service project good first issue Good for newcomers

Comments

@ymanton
Copy link
Member

ymanton commented May 9, 2019

OpenJ9 can now be built with OpenSSL support. When running configure you can specify --with-openssl=... to choose which set of OpenSSL headers and libraries to build against. The options are system, fetched, and a path to an OpenSSL source tree. See here for details: https://github.com/ibmruntimes/openj9-openjdk-jdk8/blob/6186c40a2eb7bf12dc0139e349229f703e5f4194/jdk/make/closed/autoconf/custom-hook.m4#L507

When building the JIT with JITaaS support we are unaware of that option and look for OpenSSL headers and libs in the default places, which is equivalent to --with-openssl=system. The JIT should instead become aware of that option and build against the same OpenSSL that the rest of the VM is building against.

@ymanton ymanton added good first issue Good for newcomers comp:jitserver Artifacts related to JIT-as-a-Service project labels May 9, 2019
@a7ehuo
Copy link
Contributor

a7ehuo commented May 9, 2019

I will look at this one.

@a7ehuo
Copy link
Contributor

a7ehuo commented May 16, 2019

We can add OPENSSL_CFLAGS, OPENSSL_LIBS, and OPENSSL_BUNDLE_LIB_PATH to CUSTOM_COMPILER_ENV_VARS which can be picked up when building JIT. However. --with-openssl=fetched will not set OPENSSL_LIBS. OPENSSL_LIBS will only be set if --with-openssl=system is specified. More details as below:

# --with-openssl=fetched <= Jenkins PR and nightly builds use this option
OPENSSL_DIR is /root/home/ahuo/src/openj9-openjdk-jdk8/openssl
OPENSSL_CFLAGS is -I/root/home/ahuo/src/openj9-openjdk-jdk8/openssl/include
OPENSSL_BUNDLE_LIB_PATH is 
OPENSSL_LIBS is 
# --with-openssl=fetched + --enable-openssl-bundling
OPENSSL_DIR is /root/home/ahuo/src/openj9-openjdk-jdk8/openssl
OPENSSL_CFLAGS is -I/root/home/ahuo/src/openj9-openjdk-jdk8/openssl/include
OPENSSL_BUNDLE_LIB_PATH is /root/home/ahuo/src/openj9-openjdk-jdk8/openssl
OPENSSL_LIBS is 
# --with-openssl=system
# The option --enable_openssl_bundling is not available with --with-openssl=system. Use option fetched or openssl path to bundle crypto library

OPENSSL_DIR is 
OPENSSL_CFLAGS is -I/usr/local/include
OPENSSL_BUNDLE_LIB_PATH is 
OPENSSL_LIBS is -L/usr/local/lib -lssl -lcrypto

@ymanton
Copy link
Member Author

ymanton commented May 16, 2019

OK, it seems that in the fetched mode we (we = the OpenJ9 crypto lib) dynamically load libcrypt rather than linking to it. That explains why OPENSSL_LIBS is undefined.

For our purposes for building the JIT I guess we can check if OPENSSL_LIBS is defined and use it. If not defined, we can check that OPENSSL_DIR is defined and assume that it will contain the built libraries, so we can just add -L$(OPENSSL_DIR) to our link step so the linker will find the libs.

The only problem then is what to do at runtime, since the libraries will not be in the default search path. We don't have to care about the fetched case, since the user is taking on the responsibility of making sure that the required libraries will be found.

For fetched+bundled it seems we only bundle libcrypto.so not libssl.so. I think we will have to change that first. It also seems like (for JDK8 anyway) libcrypto.so ends up being placed in jre/lib/amd64 so perhaps when linking the JIT we can use something like -rpath $ORIGIN/.. to make sure that the library search path for the JIT includes the directory where libssl.so will end up being placed.

a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk8 that referenced this issue May 16, 2019
Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, `OPENSSL_LIBS`,
and `OPENSSL_BUNDLE_LIB_PATH` to `CUSTOM_COMPILER_ENV_VARS`.

Issue eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk8 that referenced this issue May 17, 2019
Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, `OPENSSL_LIBS`,
and `OPENSSL_BUNDLE_LIB_PATH` to `CUSTOM_COMPILER_ENV_VARS`.

Issue eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk8 that referenced this issue May 21, 2019
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, `OPENSSL_LIBS`,
  and `OPENSSL_BUNDLE_LIB_PATH` to `CUSTOM_COMPILER_ENV_VARS`.
- Bundle libssl if `--with-openssl=fetched --enable-openssl-bundling`
  is set. It is required by JITaaS.

Issue eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk8 that referenced this issue May 21, 2019
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, `OPENSSL_LIBS`,
  and `OPENSSL_BUNDLE_LIB_PATH` to `CUSTOM_COMPILER_ENV_VARS`.
- Bundle libssl if `--with-openssl=fetched --enable-openssl-bundling`
  is set. It is required by JITaaS.

Issue eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9 that referenced this issue May 23, 2019
[skip ci]
OpenJ9 build supports `--with-openssl=` flag which sets up
openssl include path and library. JITaaS is built by searching
the default places. This change checks and uses
`OPENSSL_DIR`, `OPENSSL_CFLAGS`, `OPENSSL_LIBS`, and
`OPENSSL_BUNDLE_LIB_PATH`, if they are exported in
`CUSTOM_COMPILER_ENV_VARS`.

   - If `--with-openssl=system` is set, JIT will link to OpenSSL lib
     specified by `OPENSSL_LIBS`
   - If `--with-openssl=fetched --enable-openssl-bundling` is set,
     JIT will link to OpenSSL lib specified by `OPENSSL_BUNDLE_LIB_PATH`
   - If `--with-openssl=fetched` is set,  JIT will link to OpenSSL lib
     specified by `OPENSSL_DIR`

Issue eclipse-openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk8 that referenced this issue Jun 13, 2019
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, `OPENSSL_LIBS`,
  and `OPENSSL_BUNDLE_LIB_PATH` to `CUSTOM_COMPILER_ENV_VARS`.
- Bundle libssl if `--with-openssl=fetched --enable-openssl-bundling`
  is set. It is required by JITaaS.

Issue eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk8 that referenced this issue Nov 20, 2019
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, `OPENSSL_LIBS`,
  and `OPENSSL_BUNDLE_LIB_PATH` to `CUSTOM_COMPILER_ENV_VARS`.
- Bundle libssl if `--with-openssl=fetched --enable-openssl-bundling`
  is set. It is required by JITaaS.

Issue eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk8 that referenced this issue Nov 21, 2019
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, `OPENSSL_LIBS`,
  and `OPENSSL_BUNDLE_LIB_PATH` to `CUSTOM_COMPILER_ENV_VARS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set. It is required by JITServer.

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk8 that referenced this issue Nov 21, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, `OPENSSL_LIBS`,
  and `OPENSSL_BUNDLE_LIB_PATH` to `CUSTOM_COMPILER_ENV_VARS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

The JIT build change is addressed in: eclipse-openj9/openj9#5789

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk8 that referenced this issue Nov 22, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.
The same as when `--enable-jitserver --with-openssl=system`
is specified.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, and `OPENSSL_BUNDLE_LIB_PATH`
  to `CUSTOM_COMPILER_ENV_VARS` and `CMAKE_ARGS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

The JIT build change is addressed in: eclipse-openj9/openj9#5789

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk8 that referenced this issue Nov 25, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.
The same as when `--enable-jitserver --with-openssl=system`
is specified.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, and `OPENSSL_BUNDLE_LIB_PATH`
  to `CUSTOM_COMPILER_ENV_VARS` and `CMAKE_ARGS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

The JIT build change is addressed in: eclipse-openj9/openj9#5789

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk that referenced this issue Nov 28, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.
The same as when `--enable-jitserver --with-openssl=system`
is specified.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, and `OPENSSL_BUNDLE_LIB_PATH`
  to `CUSTOM_COMPILER_ENV_VARS` and `CMAKE_ARGS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system

The JIT build change is addressed in:
eclipse-openj9/openj9#5789, eclipse-openj9/openj9#7846

This is a similar change as ibmruntimes/openj9-openjdk-jdk8#303

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk8 that referenced this issue Dec 2, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.
The same as when `--enable-jitserver --with-openssl=system`
is specified.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, and `OPENSSL_BUNDLE_LIB_PATH`
  to `CUSTOM_COMPILER_ENV_VARS` and `CMAKE_ARGS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

The JIT build change is addressed in:
eclipse-openj9/openj9#5789, eclipse-openj9/openj9#7846

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk11 that referenced this issue Dec 2, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.
The same as when `--enable-jitserver --with-openssl=system`
is specified.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, and `OPENSSL_BUNDLE_LIB_PATH`
  to `CUSTOM_COMPILER_ENV_VARS` and `CMAKE_ARGS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system

The JIT build change is addressed in:
eclipse-openj9/openj9#5789, eclipse-openj9/openj9#7846

This is a similar change as ibmruntimes/openj9-openjdk-jdk8#303

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk8 that referenced this issue Dec 3, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.
The same as when `--enable-jitserver --with-openssl=system`
is specified.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, and `OPENSSL_BUNDLE_LIB_PATH`
  to `CUSTOM_COMPILER_ENV_VARS` and `CMAKE_ARGS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

The JIT build change is addressed in:
eclipse-openj9/openj9#5789, eclipse-openj9/openj9#7846

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk8 that referenced this issue Dec 5, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.
The same as when `--enable-jitserver --with-openssl=system`
is specified.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, and `OPENSSL_BUNDLE_LIB_PATH`
  to `CUSTOM_COMPILER_ENV_VARS` and `CMAKE_ARGS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

The JIT build change is addressed in:
eclipse-openj9/openj9#5789, eclipse-openj9/openj9#7846

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk8 that referenced this issue Dec 5, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.
The same as when `--enable-jitserver --with-openssl=system`
is specified.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, and `OPENSSL_BUNDLE_LIB_PATH`
  to `CUSTOM_COMPILER_ENV_VARS` and `CMAKE_ARGS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

The JIT build change is addressed in:
eclipse-openj9/openj9#5789, eclipse-openj9/openj9#7846

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk8 that referenced this issue Dec 10, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.
The same as when `--enable-jitserver --with-openssl=system`
is specified.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, and `OPENSSL_BUNDLE_LIB_PATH`
  to `CUSTOM_COMPILER_ENV_VARS` and `CMAKE_ARGS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

The JIT build change is addressed in:
eclipse-openj9/openj9#5789, eclipse-openj9/openj9#7846

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system
--enable-jitserver

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk8 that referenced this issue Dec 10, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.
The same as when `--enable-jitserver --with-openssl=system`
is specified.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, and `OPENSSL_BUNDLE_LIB_PATH`
  to `CUSTOM_COMPILER_ENV_VARS` and `CMAKE_ARGS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

The JIT build change is addressed in:
eclipse-openj9/openj9#5789, eclipse-openj9/openj9#7846

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system
--enable-jitserver

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk11 that referenced this issue Dec 10, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.
The same as when `--enable-jitserver --with-openssl=system`
is specified.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, and `OPENSSL_BUNDLE_LIB_PATH`
  to `CUSTOM_COMPILER_ENV_VARS` and `CMAKE_ARGS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system

The JIT build change is addressed in:
eclipse-openj9/openj9#5789, eclipse-openj9/openj9#7846

This is a similar change as ibmruntimes/openj9-openjdk-jdk8#303

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk13 that referenced this issue Dec 10, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.
The same as when `--enable-jitserver --with-openssl=system`
is specified.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, and `OPENSSL_BUNDLE_LIB_PATH`
  to `CUSTOM_COMPILER_ENV_VARS` and `CMAKE_ARGS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system

The JIT build change is addressed in:
eclipse-openj9/openj9#5789, eclipse-openj9/openj9#7846

This is a similar change as ibmruntimes/openj9-openjdk-jdk8#303

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk that referenced this issue Dec 10, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.
The same as when `--enable-jitserver --with-openssl=system`
is specified.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, and `OPENSSL_BUNDLE_LIB_PATH`
  to `CUSTOM_COMPILER_ENV_VARS` and `CMAKE_ARGS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system

The JIT build change is addressed in:
eclipse-openj9/openj9#5789, eclipse-openj9/openj9#7846

This is a similar change as ibmruntimes/openj9-openjdk-jdk8#303

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk8 that referenced this issue Dec 10, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.
The same as when `--enable-jitserver --with-openssl=system`
is specified.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, and `OPENSSL_BUNDLE_LIB_PATH`
  to `CUSTOM_COMPILER_ENV_VARS` and `CMAKE_ARGS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

The JIT build change is addressed in:
eclipse-openj9/openj9#5789, eclipse-openj9/openj9#7846

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system
--enable-jitserver

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk13 that referenced this issue Dec 11, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.
The same as when `--enable-jitserver --with-openssl=system`
is specified.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, and `OPENSSL_BUNDLE_LIB_PATH`
  to `CUSTOM_COMPILER_ENV_VARS` and `CMAKE_ARGS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system

The JIT build change is addressed in:
eclipse-openj9/openj9#5789, eclipse-openj9/openj9#7846

This is a similar change as ibmruntimes/openj9-openjdk-jdk8#303

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk that referenced this issue Dec 11, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.
The same as when `--enable-jitserver --with-openssl=system`
is specified.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, and `OPENSSL_BUNDLE_LIB_PATH`
  to `CUSTOM_COMPILER_ENV_VARS` and `CMAKE_ARGS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system

The JIT build change is addressed in:
eclipse-openj9/openj9#5789, eclipse-openj9/openj9#7846

This is a similar change as ibmruntimes/openj9-openjdk-jdk8#303

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk11 that referenced this issue Dec 11, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.
The same as when `--enable-jitserver --with-openssl=system`
is specified.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, and `OPENSSL_BUNDLE_LIB_PATH`
  to `CUSTOM_COMPILER_ENV_VARS` and `CMAKE_ARGS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system

The JIT build change is addressed in:
eclipse-openj9/openj9#5789, eclipse-openj9/openj9#7846

This is a similar change as ibmruntimes/openj9-openjdk-jdk8#303

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk8 that referenced this issue Dec 12, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.
The same as when `--enable-jitserver --with-openssl=system`
is specified.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, and `OPENSSL_BUNDLE_LIB_PATH`
  to `CUSTOM_COMPILER_ENV_VARS` and `CMAKE_ARGS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

The JIT build change is addressed in:
eclipse-openj9/openj9#5789, eclipse-openj9/openj9#7846

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system
--enable-jitserver

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk11 that referenced this issue Dec 12, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.
The same as when `--enable-jitserver --with-openssl=system`
is specified.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, and `OPENSSL_BUNDLE_LIB_PATH`
  to `CUSTOM_COMPILER_ENV_VARS` and `CMAKE_ARGS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system

The JIT build change is addressed in:
eclipse-openj9/openj9#5789, eclipse-openj9/openj9#7846

This is a similar change as ibmruntimes/openj9-openjdk-jdk8#303

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk13 that referenced this issue Dec 12, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.
The same as when `--enable-jitserver --with-openssl=system`
is specified.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, and `OPENSSL_BUNDLE_LIB_PATH`
  to `CUSTOM_COMPILER_ENV_VARS` and `CMAKE_ARGS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system

The JIT build change is addressed in:
eclipse-openj9/openj9#5789, eclipse-openj9/openj9#7846

This is a similar change as ibmruntimes/openj9-openjdk-jdk8#303

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9-openjdk-jdk that referenced this issue Dec 12, 2019
`JITServer` needs to be built with `libssl`. By default, it
is built against the `OpenSSL` installed on the build machine.
The same as when `--enable-jitserver --with-openssl=system`
is specified.

This change passes the `OpenSSL` build flags from OpenJDK to
JIT build environment.
- Add `OPENSSL_DIR`, `OPENSSL_CFLAGS`, and `OPENSSL_BUNDLE_LIB_PATH`
  to `CUSTOM_COMPILER_ENV_VARS` and `CMAKE_ARGS`.
- Bundle `libssl` if `--with-openssl=fetched --enable-openssl-bundling`
  is set.

Examples on the supported flags:
--enable-jitserver --with-openssl=fetched
--enable-jitserver --with-openssl=fetched --enable-openssl-bundling
--enable-jitserver --with-openssl=system

The JIT build change is addressed in:
eclipse-openj9/openj9#5789, eclipse-openj9/openj9#7846

This is a similar change as ibmruntimes/openj9-openjdk-jdk8#303

Issue: eclipse-openj9/openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
a7ehuo added a commit to a7ehuo/openj9 that referenced this issue Dec 12, 2019
This commit depends on ibmruntimes/openj9-openjdk-jdk8#303.
It checks flags passed from the JVM build environment:
`OPENSSL_CFLAG`, `OPENSSL_DIR`, and `OPENSSL_BUNDLE_LIB_PATH`,
in order to support the following OpenSSL build options:
    --enable-jitserver --with-openssl=fetched
    --enable-jitserver --with-openssl=fetched --enable-openssl-bundling
    --enable-jitserver --with-openssl=system

This commit also ports enabling building JITServer on Power from
the `jitaas` branch.

Issue: eclipse-openj9#5720

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
@mpirvu mpirvu closed this as completed Jan 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:jitserver Artifacts related to JIT-as-a-Service project good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

3 participants