Home Patches

NPTL support on RedHat 9

bernardbernard Jupiter, FLAdministrators, ZeroC Staff Bernard NormierOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
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:

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
- 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,
Sign In or Register to comment.