This page provides troubleshooting and debugging guidance for developers who are contributing to the Trafodion software.
Cleaning the Source Directory
To clean derived (non-source) files from your work area, use this command at the top level:
git clean -X
That's better than make clean
or make cleanall
because the top-level makefile invokes many makefiles beneath it. The trafodion/core source tree has more than 150 makefiles, so it is risky to trust that everyone implemented those rules correctly.
Common Problems and Solutions
Symptom: Compiling and linking an application with the Trafodion ODBC Linux Driver returns the following error:
libtrafodbc64.so: undefined reference to `deflateBound@ZLIB_1.2.0' collect2: ld returned 1 exit status
Cause: Mismatch between the ZLIB version of the build environment and the current runtime environment.
deflateBound@ZLIB_1.2.0 is not defined in ZLIB version 1.2.3-27.el6.x86_64.A mismatch can happen if the driver is built on a RHEL 6.4+ system and is used on a RHEL 6.3 system.
Solution:
- Upgrade ZLIB version to 1.2.3-29.el6.x86_64 or equivalent.
- Extract the rpm files and set LD_LIBRARY_PATH:
- Download rpm zlib-1.2.3-29.el6.x86_64.rpm or equivalent.
- Extract the rpm into a folder <zlib folder>:
rpm2cpio <path to rpm file> | cpio -i --make-directories or rpm2cpio <path to rpm file> | cpio –idmv
- Set the LD_LIBRARY_PATH as follows:
export LD_LIBRARY_PATH=<zlib folder>/lib64:$LD_LIBRARY_PATH