Archived

This forum has been archived. Please start a new discussion on GitHub.

NPTL support on RedHat 9

bernard
bernard Jupiter, FL
The Native POSIX Thread Library (NPTL) is a major threading improvement on Linux, available on RedHat 9 and other recent Linux distributions (Fedora, RedHat Enterprise 3 and probably more).

Unfortunately Ice did not support NPTL ... until today.

In the latest Ice release (1.2), libraries are not linked to libpthread. This causes very puzzling problems (hangs) when using NPTL. Here is the explanation:
http://sources.redhat.com/ml/libc-hacker/2003-09/msg00002.html

This glibc bug is fixed in the most recent RedHat 9 glibc packages available from RedHat (2.3.2-27.9.7 released in November), so in order to use Ice 1.2 with NTPL you can either:
- upgrade your glibc, glibc-common and glibc-devel packages to get this fix
or
- apply the attached patch to your <ice home>/config/Make.rules.Linux
Assuming you've put patch.txt in your home directory:
% cd <ice-home>/config/Make.rules.Linux
% patch -p0 < ~/patch.txt

This is a build-time (really link-time) issue, so once you've upgraded your glibc and/or patched your Make.rules.Linux, you need to rebuild Ice in order to get a NPTL-compatible Ice build.
Once properly built, Ice works with the NPTL from any RH9 glibc revision; of course we recommend to upgrade to the latest kernel and glibc to get the latest runtime fixes, in particular NPTL fixes.

Finally, IceJ also works with NPTL, provided you use Java 1.4.2 or later. Java 1.4.2 is the first NPTL-compatible JVM.

Best regards,
Bernard