README for Red Hat Linux 9.0 There is a GNAT 3.15p incompatibility with the default pthread library that is utilized by Red Hat 9.0 on Intel CPUs designated as i686's. The i686 processors include the Pentium 2, 3, and 4 (for comparison, the i586 consists of the original Pentium and Pentium Pro). Since DTraq does GNAT compilations as part of its logging server generation, this incompatibility affects DTraq. The root of the problem lies with GNAT 3.15p's interaction with the Native Posix Thread Library (NPTL) implementation of libpthread. Any GNAT 3.15p Ada program that employs tasking will freeze when the executable is linked with this version of the library. This version of libpthread is present as /lib/tls/libpthread.so.0. To determine if your locked-up program is using this library, invoke the ldd command on your executable: $ ldd executable and check the output for an appearance of the above library path. The best alternative to the NPTL on the affected CPUs, until a new version of GNAT is available that does not have the problem, is to use the LinuxThreads versions of libthread. While this version is present as /lib/i686/libpthread.so.0, it appears that specifying the use of that version cannot be explicitly done as part of the linking process. However, setting the environment variable LD_ASSUME_KERNEL for the user that does GNAT 3.15p compilations (including the DTraq user) to the appropriate value will cause the linker to use the LinuxThreads version of the library. LD_ASSUME_KERNEL can be set as follows, with the specified effect: export LD_ASSUME_KERNEL=2.4.1 (bash) setenv LD_ASSUME_KERNEL 2.4.1 (csh, tcsh) "forces" LinuxThreads on i686 -- you'll get /lib/i686/libpthread.so.0 export LD_ASSUME_KERNEL=2.2.5 (bash) setenv LD_ASSUME_KERNEL 2.2.5 (csh, tcsh) "forces" the i586 version from /lib/lipthread.so.0 For a concise summation of this issue, see the comp.programming.threads posting by Paul Pluzhnikov at http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=uel0sqyq8.fsfYB8X%40earthlink.net Marc A. Criley McKae Technologies Last updated: 7 Aug 2003