Informix Threads Fix

Note that the gang at RedHat has screwed up the threads library implementation on RedHat 9 such that the Informix tools get segmentation violations (later versions of RedHat such as EL3, EL4, EL5 and EL6, as well as CentOS 4, 5 and 6 don't have this problem).

The segmentation violation or segmentation fault problems are due to RedHat 9.0 including the Native POSIX Thread Library (NPTL), a new implementation of POSIX threads for Linux.

This library provides performance improvements and increased scalability for i686 or better processors. This thread library is designed to be binary compatible with the old Linux Threads implementation; however, applications that rely on the places where the Linux Threads implementation deviates from the POSIX standard will need to be fixed.

If an application does not work properly with NPTL, you can run it using the old Linux Threads implementation by setting the following environment variable:

     LD_ASSUME_KERNEL=kernel-version

The following versions are available:

     2.4.1 - Linuxthreads with floating stacks
     2.2.5 - Linuxthreads without floating stacks

If you want to know what the current kernel version of Red Hat 9.0 issue this command:

     rpm -q kernel

If your kernel is something like "kernel-2.4.20-8", use "2.4.1". Otherwise, if it is a version 2.2 kernel, use "2.2.5". Note that the LD_ASSUME_KERNEL environment variable will have to be exported for it to work. Also note that the development environment setup script (setupinfx) shown in the "Using an Informix Database" section does this properly.