DataStage Teradata Connector cannot load library reporting ELF class : ELFCLASS32

Technote (troubleshooting)


Problem(Abstract)

Jobs on MPP environment fail to run reporting error:
Teradata_CC,0: Error loading connector library libcctera12.so libcliv2.so: wrong ELF Class: ELFCLASS32 (CC_LoadedConnector::loadlibrary, file CC_ConnectorFactory.cpp, line 1,525)(pxbridge.C:7466)

Cause

On MPP environments the paths containing DataStage binaries as well as other Clients binaries are NFS mounted to the compute nodes. During the Teradata client installation process on the Conductor a symbolic link is created in /usr/lib64 to point to libcliv2.so in the Teradata install home. If /usr/lib64 is not NFS mounted to the compute nodes this symbolic link will not exist on compute nodes.

This symbolic link only exists on the server where Teradata client was installed.

cd /usr/lib64

$ ls -l libcliv2.so
lrwxrwxrwx 1 root root 43 2012-03-27 10:10 libcliv2.so -> /opt/teradata/client/13.0/lib64/libcliv2.so

Diagnosing the problem

After setting the environment variables for DataStage you can test the existence of required Teradata binaries by changing directory to /opt/IBM/InformationServer/DSComponents/bin and running the ldd command:

ldd libcctera12.so (or libcctera.so for variant 8.1)

$ ldd libcctera12.so
libfcl.so => /opt/app/IBM/IS/Server/PXEngine/lib/libfcl.so (0x00002b3385a12000)
libicuuc.so.32 => /opt/app/IBM/IS/Server/PXEngine/lib/libicuuc.so.32 (0x00002b3385d00000)
libcliv2.so => not found
libtelapi.so => /opt//teradata/client/13.0/tbuild/lib64/libtelapi.so (0x00002b338604b000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00002b33861bf000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b33863d8000)
libdl.so.2 => /lib64/libdl.so.2 (0x00002b33865f3000)
libstdc++.so.6 => /opt/app/IBM/IS/ASBNode/apps/proxy/cpp/linux-all-x86_64/libstdc++.so.6 (0x00002b33867f7000)
libm.so.6 => /lib64/libm.so.6 (0x00002b33869f6000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002b3386c79000)
libc.so.6 => /lib64/libc.so.6 (0x00002b3386e87000)
libicui18n.so.32 => /opt/app/IBM/IS/Server/PXEngine/lib/libicui18n.so.32 (0x00002b33871df000)
libicutu.so.32 => /opt/app/IBM/IS/Server/PXEngine/lib/libicutu.so.32 (0x00002b33873fd000)
libicuio.so.32 => /opt/app/IBM/IS/Server/PXEngine/lib/libicuio.so.32 (0x00002b338750c000)
libxml4c.so.56 => /opt/app/IBM/IS/Server/DSComponents/lib/libxml4c.so.56 (0x00002b3387619000)
liborchx86_64.so => /opt/app/IBM/IS/Server/PXEngine/lib/liborchx86_64.so (0x00002b3387ab6000)
liborchcorex86_64.so => /opt/app/IBM/IS/Server/PXEngine/lib/liborchcorex86_64.so (0x00002b3388646000)
libicudata.so.32 => /opt/app/IBM/IS/Server/PXEngine/lib/libicudata.so.32 (0x00002b338889c000)
libpxicu.so => /opt//teradata/client/13.0/tbuild/lib64/libpxicu.so (0x00002b338962b000)
/lib64/ld-linux-x86-64.so.2 (0x00002b3385531000)
liborchmonitorx86_64.so => /opt/app/IBM/IS/Server/PXEngine/lib/liborchmonitorx86_64.so (0x00002b338972e000)

If you see any "not found" messages, this means the files either do not exist or there are permission problems with the file.


Resolving the problem

In this case, to resolve this issue, you can either A. create the symbolic link in the /usr/lib64 OR B. set the LD_LIBRARY_PATH to point the the actual binary in the Teradata Home/lib directory.

A.

cd /usr/lib64

ln -s /opt//teradata/client/13.0/lib64/libclib2.so libcliv2.so

B.

in $DSHOME/dsenv add the path of libcliv2.so to LD_LIBRARY_PATH and restart DataStage

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt//teradata/client/13.0/lib64

Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

InfoSphere DataStage

Software version:

8.5, 8.7

Operating system(s):

Linux

Reference #:

1622226

Modified date:

2013-01-14

Translate my page

Machine Translation

Content navigation