IBM Support

InfoSphere MDM Probabilistic Matching Engine (PME) standalone installation does not extract the MAD native library

Troubleshooting


Problem

In InfoSphere Master Data Management 11.6.0.2 and subsequent 11.6.0.x releases, the Probabilistic Matching Engine (PME) standalone installation does not correctly extract the MAD native library. You can manually extract the MAD native library to work around this issue.

Symptom

You will encounter this issue when you run any of the PME standalone Java APIs, such as calling compare on an instance of the MatchingService.

The result will display the following error, stating that you are missing the MAD native library:

INFO: Trying to load native library 'MAD'...

Exception in thread "main" java.lang.NoClassDefFoundError: com.ibm.mdm.mds.pme.jni.MatchingServiceJni (initialization failure)

        at java.lang.J9VMInternals.initializationAlreadyFailed(J9VMInternals.java:96)

        at com.ibm.mdm.mds.pme.core.jni.MatchingServiceNative.createEnv(MatchingServiceNative.java:77)

        at com.ibm.mdm.mds.pme.core.jni.Env.<init>(Env.java:46)

        at com.ibm.mdm.mds.pme.core.BaseMatchingServiceInitFactory.getEnvironment(BaseMatchingServiceInitFactory.java:73)

        at com.ibm.mdm.mds.pme.core.MatchingServiceImpl.init(MatchingServiceImpl.java:140)

        at com.ibm.mdm.mds.pme.core.MatchingServiceFactoryImpl.newMatchingService(MatchingServiceFactoryImpl.java:76)

        at com.ibm.mdm.mds.pme.core.MatchingServiceFactoryImpl.newInstance(MatchingServiceFactoryImpl.java:43)

        at ComparePMEExample.main(ComparePMEExample.java:29)

Caused by: java.lang.UnsatisfiedLinkError: MAD (Not found in java.library.path)

Resolving The Problem

To resolve this issue, complete the following steps afterIIBM Installation Manager completes extraction of the PME installation:

  1. Create a folder named native under the PME installation directory, parallel to existing to the folders lib, was, db, and bulkutils.
  2. Create a temporary folder (referred to here as <temp_folder>). This will be your temporary working folder.
  3. Copy and extract com.ibm.mdm.mds.jni.jar from the lib folder to your temporary folder.
    This will create following folders within your temporary folder: aix64, linux64, plinux64, win64_amd64, zlinux64. Each folder will have MAD library file in it.
  4. Copy the appropriate MAD library into the native folder that you created in step 1:
    • If your operating system is AIX, copy libMAD.so from <temp_folder>/aix64
    • If your operating system is Linux (RHEL), copy libMAD.so from <temp_folder>/linux64
    • If your operating system is pLinux, copy libMAD.so from <temp_folder>/plinux64
    • If your operating system is zLinux, copy libMAD.so from <temp_folder>/zlinux64
    • If your operating system is Microsoft Windows, copy mad.dll from <temp_folder>/ win64_amd64

Document Location

Worldwide

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSWSR9","label":"IBM InfoSphere Master Data Management"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"11.6.0.2;11.6.0.3;11.6.0.4;11.6.0.5;11.6.0.6;11.6.0.7;11.6.0.8;11.6.0.9","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
27 April 2022

UID

ibm10881073