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
----
!! NOTE !!
Before 7.2.0-ISS-SDI-FP0008( ie SDI 7.2 Fixpack 8) the 'compat-libstdc++-33' OS package is a requirement for SDI 7.2. With SDI 7.2 Fixpack 8, the 'compat-libstdc++-33' package requirement has been removed from SDI 7.2. Customers encountering the exception detailed in the stack trace can disregard the instruction in this technote regarding the installation of additional OS packages. To resolve the exception, please upgrade to version 7.2.0-ISS-SDI-FP0008 or later.
----
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"}}]
Was this topic helpful?
Document Information
Modified date:
21 May 2024
UID
ibm16117862