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:

  1. Upgrade ZLIB version to 1.2.3-29.el6.x86_64 or equivalent.
  2. Extract the rpm files and set LD_LIBRARY_PATH:
    1. Download rpm zlib-1.2.3-29.el6.x86_64.rpm or equivalent.
    2. 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
      
    3. Set the LD_LIBRARY_PATH as follows:
      export LD_LIBRARY_PATH=<zlib folder>/lib64:$LD_LIBRARY_PATH
  • No labels