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

Overview

Basically, if 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 have an error message (java.lang.Error: java.lang.UnsatisfiedLinkError) when using the tMelissaDataAddress component.

Icon

MelissaData AddressObject is compatible only with JDK 1.6. Using a different JDK version, you may end up having 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 about dependencies using the following command: ldd libmdAddrJavaWrapper.so.
    When dependencies are resolved, you should get something like:

    -$ 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, something like:

    -$ 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 #:
1 of 1
Last update:
‎05-11-2017 11:45 PM
Updated by:
 
Labels (1)
Contributors
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