Add z/OS build and test instructions to README - #1756
Conversation
Signed-off-by: Michael Ma <michael.ma@ibm.com>
Signed-off-by: Michael Ma <michael.ma@ibm.com>
|
Hi @michael-ma-dev please change the state of this PR from "Draft" to "Ready for review" when you are ready for review of this content. |
| rm -rf $JAVA_INSTALL_DIRECTORY/jdk-$JAVA_VERSION/lib/N | ||
| ``` | ||
| ```console | ||
| export LIBPATH="$PROJECT_HOME/OCK/:$PROJECT_HOME/OCK/jgsk_sdk:$PROJECT_HOME/OpenJCEPlus/target/jgskit-mz-64:$LIBPATH" |
There was a problem hiding this comment.
Are we sure that we need $PROJECT_HOME/OpenJCEPlus here? In general id expect $PROJECT_HOME to be the root directory of the project already.
There was a problem hiding this comment.
The path was written under the understanding that $PROJECT_HOME is the parent
directory containing both the OCK/ folder and the cloned repo — consistent
with the README's Step 1 (mkdir $PROJECT_HOME/OCK) and the later
cd OpenJCEPlus after cloning.
Happy to update to $PROJECT_HOME/target/ jgskit-mz-64 if the convention is that $PROJECT_HOME should be set to the repo root. The current README doesn't seem to specify this.
| rm -rf $JAVA_INSTALL_DIRECTORY/jdk-$JAVA_VERSION/lib/N | ||
| ``` | ||
|
|
||
| Additionally, remove `OpenJCEPlus` from the providers list in `$JAVA_INSTALL_DIRECTORY/jdk-$JAVA_VERSION/conf/security/java.security`. |
There was a problem hiding this comment.
Is this required to really remove OpenJCEPlus from the provider list? Id expect the provider to not load after the above actions are taken to remove the binaries required to load it. ( I expect the JCE framework to fail to load it and silently skip OpenJCEPlus provider )
There was a problem hiding this comment.
When tested on z/OS Semeru, after removing bundled libjgskit.so from $JAVA_HOME/lib, preloadJGskit() in NativeOCKImplementation throws ProviderException when libjgskit.so is missing.
Since Semeru lists OpenJCEPlus as number 1 provider, every JVM boot seems to triggers this. Removing OpenJCEPlus from java.security prevents the provider from loading at all
during the build, so the standard mvn works.
| #### Run single test | ||
|
|
||
| On AIX you must set an additional setting for the `LIBPATH` environment variable: | ||
| On AIX and z/OS you must set an additional setting for the `LIBPATH` environment variable: |
There was a problem hiding this comment.
Can we make this match line 160 above. I think its missing the , character.
|
|
||
| ```console | ||
| rm $JAVA_INSTALL_DIRECTORY/jdk-$JAVA_VERSION/lib/libjgsk8iccs_64.so | ||
| rm $JAVA_INSTALL_DIRECTORY/jdk-$JAVA_VERSION/lib/libjgskit.so |
There was a problem hiding this comment.
Why do we have to remove this new file given that the dll name is declared as libjgsk8iccs_64.so above on line 65?
There was a problem hiding this comment.
libjgsk8iccs_64.so is the OCK library and libjgskit.so is the JGSKIT
library — the native code built by this project. Both need to be removed from
the bundled JDK so that the freshly-built versions from target/jgskit-mz-64/
are used instead.
When tested on z/OS, using JDK with bundled libjgskit.so results in crash at testing phase.
The description only mentioned OCK and will be updated to include both.
| rm -rf $JAVA_INSTALL_DIRECTORY/jdk-$JAVA_VERSION/lib/N | ||
| ``` | ||
|
|
||
| Additionally, remove `OpenJCEPlus` from the providers list in `$JAVA_INSTALL_DIRECTORY/jdk-$JAVA_VERSION/conf/security/java.security`. |
There was a problem hiding this comment.
Not sure why you would need to do that.
|
|
||
| ```console | ||
| rm $JAVA_INSTALL_DIRECTORY/jdk-$JAVA_VERSION/lib/libjgsk8iccs_64.so | ||
| rm $JAVA_INSTALL_DIRECTORY/jdk-$JAVA_VERSION/lib/libjgskit.so |
There was a problem hiding this comment.
This is also removing the native library for the OpenJCEPlus code. So, either the description above needs to be updated to indicate OCK and OpenJCEPlus native library different than... or this line should be removed.
This update adds build and test configuration instructions for z/OS (s390x) to the README, and consolidates the Semeru JDK setup instructions for AIX and z/OS.
Signed-off-by: Michael Ma michael.ma@ibm.com