How to check if MelissaData software is properly installed in a Linux environment

Overview

If the MelissaData AddressObject library is installed properly, you need only to set the right JVM argument (Djava.library.path=path/to/libmdAddrJavaWrapper.so/folder/) in the Job's advanced settings in the Studio before running the tMelissaDataAddress Job.

 

However, if MelissaData software is not installed properly, you may get the error message java.lang.Error: java.lang.UnsatisfiedLinkError when using the tMelissaDataAddress component.

 

Note: MelissaData AddressObject is compatible only with JDK 1.6. Using a different JDK version, you may get the error UnsupportedClassVersionError: com/melissadata/mdAddr.

 

Environment

This issue concerns users who install MelissaData AddressObject library in a Linux environment.

 

Resolution

  1. Make sure the installation of MelissaData AddressObject library is correct and complete:

    • Check if the libmdAddr.so file is in /usr/lib or /usr/lib64, depending on whether your OS is 32-bits or 64-bits. Otherwise, copy the library file manually to the right folder.
    • Check for dependencies using the following command: ldd libmdAddrJavaWrapper.so.

      When dependencies are resolved, you should get a result similar to:

      -$ ldd libmdAddrJavaWrapper.so
      -linux-vdso.so.1 => (0x00007fff5073b000)
      -libmdAddr.so => /usr/lib64/libmdAddr.so (0x00007fdac7e7e000)
      -libstdc+.so.6 => /usr/lib64/libstdc+.so.6 (0x00007fdac7b74000)
      -libm.so.6 => /lib64/libm.so.6 (0x00007fdac791c000)
      -libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fdac7706000)
      -libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fdac74e9000)
      -libc.so.6 => /lib64/libc.so.6 (0x00007fdac7158000)
      -/lib64/ld-linux-x86-64.so.2 (0x00007fdac862c000)

      This output means that all dependencies are respected.

      When there are missing dependencies, you will see null next to one or more of the strings, similar to:

      -$ ldd libmdAddrJavaWrapper.so
      -linux-vdso.so.1 => (0x00007fff5073b000)
      -libmdAddr.so => null
      -libstdc+.so.6 => /usr/lib64/libstdc+.so.6 (0x00007fdac7b74000)
      -libm.so.6 => /lib64/libm.so.6 (0x00007fdac791c000)
      -libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fdac7706000)
      -libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fdac74e9000)
      -libc.so.6 => /lib64/libc.so.6 (0x00007fdac7158000)
      -/lib64/ld-linux-x86-64.so.2 (0x00007fdac862c000)

      In such a case, you must install the missing libraries.

  2. Make sure to set the right JVM argument (Djava.library.path=path/to/libmdAddrJavaWrapper.so/folder/) in the Job's advanced settings in the Studio.

Version history
Revision #:
2 of 2
Last update:
‎06-08-2017 02:01 PM
Updated by:
 
Labels (1)
Tags (1)
Comments
adiallo

Hello,

 

Addition to having libmdAddr.so in /usr/lib64 in my case i had to copy as well libmdGeo.so to have my job working because

i was using the Geo* feature.

 

Thanks,

Abdoul