IBM Support

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

How To


Summary

How To install IBM Security Directory Integrator on Red Hat Enterprise Linux® 7.9 and 8

Environment

Security Directory Integrator 7.2
Red Hat Enterprise Linux® 8
Red Hat Enterprise Linux® 7.9

Steps

After the installation of SDI on RHEL, the customer will find any attempt to use 'ibmdisrv' fails with 'i4clntjni (Not found in java.library.path)'. On a review of the environment, the 'ldd' command could show the 'libnsl' library is a missing dependency.
 
$ pwd
/opt/IBM/TDI/V7.2

$ ls -l /opt/IBM/TDI/V7.2/libs/
total 268
-rwxrwxr-x. 1 sdiuser sdiuser 270591 Nov 14  2013 libi4trybuyjni.so
 
$ uname
Linux

$ cat  logs/ibmdi.log
2020-03-16 11:24:31,565 ERROR [com.ibm.di.loader.ServerLauncher] - CTGDKG023E Error while starting main class.
java.lang.reflect.InvocationTargetException
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
   at java.lang.reflect.Method.invoke(Method.java:613)
   at com.ibm.di.loader.ServerLauncher.startServer(ServerLauncher.java:173)
   at com.ibm.di.loader.ServerLauncher.main(ServerLauncher.java:79)
Caused by: java.lang.UnsatisfiedLinkError: i4clntjni (Not found in java.library.path)
   at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1197)
   at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1161)
   at java.lang.System.loadLibrary(System.java:527)
   at com.ibm.LUMClient.LumCoreClient.<clinit>(LumCoreClient.java:32)
   at java.lang.J9VMInternals.initializeImpl(Native Method)
   at java.lang.J9VMInternals.initialize(J9VMInternals.java:236)
   at com.ibm.LUMClient.LumClient.setOption(LumClient.java:254)
   at com.ibm.di.server.RS.checkLUM(RS.java:3574)
   at com.ibm.di.server.RS.main(RS.java:589)

The exception occurs due to the installer process not locating required system libraries during the installation process, as noted in technote: [Issues caused by not installing prerequisites for Tivoli Directory Integrator on Linux®]
Before RHEL 7.9, an administrator could locate the `libstdc++.so.5` in an operating system software repository. Starting with RHEL 7.9, the library can not be found in the operating system repository. To resolve `i4clntjni (Not found in java.library.path)` on RHEL 7.9 and later, support found the following steps as a workaround:
1. Locate and download the rpm to the machine. This workaround refers to the RHEL 7 library, as an RHEL (7.9 or 8) library could not be found:
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

2. Install the local rpm:
yum localinstall compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
yum install -y glibc.x86_64 nss-softokn.x86_64 libXpm.x86_64 
3. Verify installation completion:
$ ls -l /usr/lib64/libstdc++.so.*
lrwxrwxrwx. 1 root root      18 Mar  5  2015 /usr/lib64/libstdc++.so.5 -> libstdc++.so.5.0.7
-rwxr-xr-x. 1 root root  830776 Mar  5  2015 /usr/lib64/libstdc++.so.5.0.7
lrwxrwxrwx. 1 root root      19 Nov  5 22:36 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.25
-rwxr-xr-x. 1 root root 1661480 Nov  5 22:38 /usr/lib64/libstdc++.so.6.0.25

4. Use the operating system `ldd` command to confirm all library requirements are met for `<SDI_HOME>/libs` files:
$ ldd libi4trybuyjni.so
   linux-vdso.so.1 (0x00007fffdc172000)
   libdl.so.2 => /lib64/libdl.so.2 (0x00007f17f41de000)
   libnsl.so.1 => not found
   libstdc++.so.5 => /lib64/libstdc++.so.5 (0x00007f17f3f03000)
   libc.so.6 => /lib64/libc.so.6 (0x00007f17f3b40000)
   /lib64/ld-linux-x86-64.so.2 (0x00007f17f43e2000)
   libm.so.6 => /lib64/libm.so.6 (0x00007f17f37be000)
   libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f17f35a6000)

5. Install any missing library: e.x. 
# yum install libnsl
Installed:
 libnsl-2.28-72.el8_1.1.x86_64 

[{"Business Unit":{"code":"BU008","label":"Security"},"Product":{"code":"SSCQGF","label":"Tivoli Directory Integrator"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"LOB24","label":"Security Software"}}]

Document Information

Modified date:
06 October 2021

UID

ibm16117862