Bug 156754

Summary: more deprecation of LinuxThreads, may break code
Product: [Retired] Fedora Documentation Reporter: Karsten Wade <kwade>
Component: release-notesAssignee: Karsten Wade <kwade>
Status: CLOSED CURRENTRELEASE QA Contact: Tammy Fox <tammy.c.fox>
Severity: medium Docs Contact:
Priority: medium    
Version: devel   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
URL: http://fedoraproject.org/wiki/FedoraDocs/RelNotes/Core4Test3RelNotes
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-05-04 12:31:20 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 151189    

Description Karsten Wade 2005-05-03 23:31:32 UTC
Description of problem, bug, incorrect information, or enhancement request:


Version of release notes this bug refers to:

FC4test3

URL of bug/enhancement (change if different):

http://fedoraproject.org/wiki/FedoraDocs/RelNotes/Core4Test3RelNotes

Comment 1 Karsten Wade 2005-05-03 23:32:22 UTC
From Ulrich Drepper:

As the next step to remove support for the obsolete LinuxThreads
library, code compiled and linked on FC4 now automatically uses the NPTL
headers and libraries.  In previous releases since RHL9 the default was
still LinuxThreads since the interface is mostly forward compatible.
The advantages of the NPTL interface is that the cancellation handling
is faster (when -fexception is used, even in C code) and that the
additional interfaces are now available without special compiler and
linker parameters (i.e., no -I/usr/include/nptl and -L/usr/lib{,64}/nptl
needed anymore).  [ lib{,64} is to be interpreted as lib64 on platforms
which place DSOs in lib64 directories, and lib otherwise. ]

In FC4 it is still possible to create code using the LinuxThreads
definitions.  For this the linuxthreads-devel package must be installed and

   -I/usr/include/linuxthreads -L/usr/lib{,64}/linuxthreads

must be passed to the compiler.

At runtime, it used to be possible to use the LD_ASSUME_KERNEL
environment variable to select the appropriate version of glibc and the
libpthread DSO.  Now it is additionally necessary to specify

  LD_LIBRARY_PATH=/lib{,64}/obsolete/linuxthreads

in the environment since the runtime libraries have also been moved out
of the way.  There might be the one or the other program which doesn't
work at all if the program uses an unfortunate DT_RPATH (which
overwrites the LD_LIBRARY_PATH setting).

All this makes it more cumbersome to run programs which depend on
LinuxThreads.  But this is intentional.  FC5 will not have LinuxThreads
support anymore and all programs have to be converted to use NPTL by
then.  In general this hasn't been an issue.


Comment 2 Karsten Wade 2005-05-04 12:31:20 UTC
In relnotes for FC4test3.