Installing Tivoli/Security Directory Integrator on RHEL 8

On a new SDI 7.2 installation (with Java 8 and the latest Connections TDISOL directory for Java 8), I ran into a weird error:

CTGDKG023E Error while starting main class.java.lang.reflect.InvocationTargetException
..
Caused by: java.lang.UnsatisfiedLinkError: i4clntjni (Not found in java.library.path)

Luckily, Google could help me on this one. This technote shows that if there are missing libraries, SDI doesn’t properly install and you will have to uninstall SDI, install the missing libraries, and reinstall SDI.

Missing libraries

So what are the missing libraries? The technote refers to the system requirements, but those system requirements refer to missing packages with the names for the S390 OS. Luckily, IBM did create another technote which does list which packages you need: glibc.x86_64, nss-softokn.x86_64, libXpm.x86_64, compat-libstdc++-33.x86_64

Problem is that the last package is not available for RHEL 8. The solution IBM provides is to download it from a CentOS 7 repository and then install it manually. This works.

Reinstallation

If you think that you can skip the reinstallation, you’re wrong. Without reinstallation, you will now run into the error:

CTGDIS958E The system cannot find an enrolled product license.

Something that only a reinstall can fix. To uninstall SDI, check here. If you installed Java 8 for SDI, it’s wise to move the jvm directory elsewhere before uninstalling, so you can easily put it back. After reinstalling both SDI 7.2 and Fix Pack 7 and moving the jvm directory back, don’t forget to remove the spring classes as shown here.

I also had to add this line to my jvm/jre/lib/security/java.policy

permission java.net.SocketPermission "localhost:1527", "listen";

Resources

SDI 7.2 – How To install on Red Hat Enterprise Linux® 7.9 and 8

Issues caused by not installing prerequisites for TDI on Linux

Performing a manual uninstallation

Required gtk libraries for Security Directory Integrator (Running the editor)