Jump to content
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
HP.com home

Transition Impacts

Tru64 UNIX Software Transition Kit


» HP STK home
» Home
» Overview
» Tools
» Documentation
» Transition impacts
» Identifier types
» Impact list
» Porting to HP-UX
» Glossary
» Help
» Send us feedback
Site maps
» Tru64 UNIX STK
Content starts here

critical impact:

libpthreads - CMA and d4 threads not supported; use POSIX threads (CrUn368)

LIB Impacts TH Impacts

Problem description

The CMA and d4 thread interfaces are supported on Tru64 UNIX but not on HP-UX Itanium®-based systems.

The CMA (Concert Multithread Architecture) interface is an HP proprietary thread interface. The d4 interface (also known as DCE threads) is an implementation of the POSIX 1003.4a/Draft 4 document. Both are older interfaces that have been superseded by the pthread interface, which is an implementation of the POSIX 1003.1c or POSIX.1c standard.

On both platforms, the pthread interface is in the libpthread library.

On Tru64 UNIX, the CMA and d4 interfaces are in a different library, the libpthreads library. It is only provided for backward compatibility and its interfaces are no longer documented.

On HP-UX, the CMA and d4 interfaces are in the libcmalib library. That is a PA library that has been deprecated and may be removed in a future release. Itanium®-based systems do not have a native version of the library.


Programming Libraries-lpthreads Programming Librarieslibpthreads.so  

See also

Solution description

Migrate to the pthread interface.

The Tru64 UNIX Guide to the POSIX Threads Library explains how to migrate from the CMA and d4 interfaces to the pthread interface.

The pthread interface has been widely used for years, so it is unusual to see an application still using the CMA or d4 interfaces. When a Tru64 UNIX application does link with the CMA/d4 library, libpthreads, it is often because the developers forgot to update their makefiles when they migrated to the pthread interface. To see which thread creation function the application binary is actually referencing, enter the following command:

    nm -u app | grep thread_create

cma_thread_create means the application is using the CMA interface, pthread_create means the d4 interface, and __pthread_create means the pthread interface.

See also

Problem summary

classifications source types OS release severity type
LIB, TH Make, Script any HP-UX 11i version critical unavailable
Printable version
Privacy statement Using this site means you accept its terms Feedback to DSPP
© 2007 Hewlett-Packard Development Company, L.P.