Troubleshooting
Problem
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)
Symptom
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
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21622226