Digital UNIX
PrevChapter 7. Development EnvironmentNext

Shared Libraries

Digital UNIX Version 4.0 provides a full complement of dynamic shared libraries, compatible with System V semantics for shared library loading and symbol resolution as well as the System V API for dynamic loading (dlopen, dlclose, dlsym, and dlerror). Because they allow programs to include only information about how to load and access routines rather than the routines themselves, shared libraries increase system performance, reduce disk and memory requirements, and simplify system management.

Digital UNIX Version 4.0 supports the shared libraries described in the following two tables.

Table 7-1. Digital UNIX Version 4.0 Shared Libraries

Library /usr/shlibDescription

libDXm.so

Digital Motif Extensions library

libDXterm.so

DECterm widget library, used by dxterm

libDtHelp.so

CDE online help routines

libDtMail.so

Shared library support for the dtmail CDE mail utility

libDtSvc.so

CDE service routines for desktop management

libDtTerm.so

Shared library support for the CDE ddterm terminal emulator utility

libDtWidget.so

shared library of CDE widgets to supplement Motif widget

libICE.so

Inter-Client Exchange library, which enables the building of protocols

libMrm.so

Motif Resource Manager library

libSM.so

The X Session Management Protocol (XSMP) provides a uniform mechanism for users to save and restore their sessions using the services of a network- based session manager. It is built on ICE and is the C interface to the protocol.

libUil.so

The callable Motif UIL (User Interface Language) compiler used by applications that want to compile UIL at run time.

libX11.so

Xlib library

libXETrap.so

X Extension Library

libXaw.so

X Athena Widgets run-time library

libXext.so

X Client-side Extension library

libXi.so

X Input Extension client-side library

libXIE.so

X Imaging Extension client-side run-time library (V5)

libXie.so

X Imaging Extension client-side run-time library (V3)

libXm.so

Motif Widgets library

libXmu.so

X Miscellaneous utilities run-time library

libXt.so

X Intrinsics library

libXtst.so

A library of routines for X clients to make use of the XTEST Extension.

libXv.so

X video Extension client-side run-time library

libaio.so

POSIX realtime asynchronous I/O functions

libaio_raw.so

POSIX realtime asynchronous I/O functions (raw disk and tape only)

libaud.so

C2 security auditing library

libbkr.so

Motif Help System library

libc.so

C library

libc_r.so

Threadsafe libc (link to libc.so)

libcda.so

CDA run-time library

libcdrom.so

Rock Ridge Extensions to CDFS library

libchf.so

CDA/Imaging signal handling routines

libcmalib.so

CMA threads library

libcsa.so

Shared library portion of the CDE dtcm calendar manager utility

libcurses.so

Curses screen control library

libcxx.so

NEW

libdb.so

NEW

libdnet_stub.so

DECnet library

libdps.so

Adobe Display PostScript client-side run-time libraries

libdpstk.so

Adobe Display PostScript toolkit

libdvr.so

CDA run-time viewer library

libdvs.so

CDA run-time layout library

libesnmp.so

NEW

libexc.so

Library that provides support for exception handling.

libiconv.so

Internationalization codeset conversion routines

libids.so

Image display services library

libids_nox.so

Image display services not dependent on X

libimg.so

Image processing routines

libips.so

Image processing routines

libm.so

Digital Portable Mathmatics Library (DPML)

libmach.so

Mach library

libmxr.so

Library used by mxr, the ULTRIX binary interpreter for OSF/1

libndb.so

NEW

libots.so

Compiler run-time support

libpacl.so

NEW

libproplist.so

VFS Extended File Attributes library

libpset.so

NEW

libpsres.so

Adobe Display PostScript resource utilities

libpthread.so

Application Programming Interface for Digital UNIX's threads

libpthreads.so

DECthreads library

libsecurity.so

C2 security library

libsm_x.so

Systems Management Graphical support library; no user-level interfaces available.

libtcl.so

Base Tool Command Language (TCL) support library

libtclx.so

Extended TCL support library

libtk.so

Graphical TCL (TK) Extensions library

libtkx.so

Graphical Extended TCL support library

libtli.so

XTI library

libtt.so

SunSoft Tooltalk routines

libvxvm.so

LSM utility library

libmsfs.so

AdvFS system call interface library

libfilsys.so

File system utility library

libxnet.so

NEW

libxti.so

XTI library

Table 7-2. Digital UNIX Version 4.0 Shared /usr/shlibi/X11 Libraries

Library /usr/shlib/X11Description

libXau.so

X Authorization library

libXdmDecGreet.so

Motif loadable greeter library

libXdmGreet.so

Athena-style loadable greeter library

libXdmcp.so

X Display Manager control program library

lib_adobe_dps.so

Adobe Display PostScript Extension library

lib_dec_cirrus.so

Device support for the Cirrus VGA graphics card

lib_dec_ffb.so

Supports the sfb+ graphics accelerator for 2D and 3D drawing operations

lib_dec_sfb.so

Device support for the smart frame buffer (HX)

lib_dec_smt.so

Shared memory transport library

lib_dec_tx.so

Device support for the TX graphic adapter

lib_dec_ws.so

Low-layer operating system interface for the X server

lib_dec_xi_pcm.so

Dynamically-loadable X Input Extension library that supports the dial and box

lib_dec_xi _serial_mouse.so

Support library for the serial mouse

lib_dec_xv_tx.so

X Video Extension support for the TX graphic option

libcfb.so

Color frame buffer library

libcfb16.so

16-bit visual support for the color frame buffer

libcfb32.so

32-bit visual support for the color frame buffer

libdbe.so

DOUBLE-BUFFER Extension library

libdix.so

Device-independent portion of the X Server

libdixie.so

With libmixie.so, supports the X Image Extensions (XIE) Extension library

libextMITMisc.so

MIT-SUNDRY-NONSTANDARD Extension library

libextMultibuf.so

Multi-Buffering Extension library

libextScrnSvr.so

MIT-SCREEN-SAVER Extension library

libextSync.so

SYNC Extension library

libextXCMisc.so

XC-MISC Extension library

libextbigreq.so

BIG-REQUESTS Extension library

libextkme.so

Keyboard-Management-Extension

libextshape.so

SHAPE Extension library

libextshm.so

MIT-SHM Extension library

libextxtest.so

XTEST Extension library

libextxtrap.so

DEC-XTRAP Extension library

libfont.so

Font access library

libfr_Speedo.so

Loadable font renderer library

libfr_Type1.so

Loadable font renderer library

libfr_fs.so

Loadable X Server font renderer for using a font server

libmfb.so

Monochrome frame buffer support

libmi.so

Machine-independent portion of the X Server

libmixie.so

With libdixie.so, supports the X Image Extensions (XIE)

libos.so

Operating-system dependent portion of the X Server

libxinput.so

X Input Extension server-side library

libxkb.so

XKEYBOARD Extension library

Note: Digital UNIX Version 4.0 also provides static versions of these libraries.

Quickstart

Digital UNIX Version 4.0 supports quickstart which allows shared libraries with unique addresses to start faster than if their addresses were in conflict. Essentially, each shared library must have a unique address placed in the /usr/shlib/so_locations file which allows applications that link against these shared libraries to start execution faster since the shared objects do not have to be relocated at run time. The ld utility can read and write an so_locations file when it creates a shared library.

Dynamic Loader

Digital UNIX Version 4.0 uses a System V Release 4.0 compatible loader to load shared libraries dynamically. This loader provides the following enhanced features:

Versioning

Digital UNIX Version 4.0 supports full and partial duplication of shared libraries. The loader looks for backward compatible versions of shared libraries using a path constructed by appending the version string as a subdirectory of the normal search path. As a result, any changes to kernel interfaces or to global data definitions that would ordinarily break binary compatibility will not affect your applications, since you can maintain multiple versions of any shared library and link your application against the appropriate version of that shared library.

In Motif Version 1.2, for example, the OSF changed several of the interfaces, thereby breaking binary compatibility with applications built against Motif 1.1.3 libraries. To preserve binary compatibility, Digital UNIX Version 4.0 supports both Motif 1.1.3 and Motif 1.2.3 shared libraries in Digital UNIX Version 4.0 with our versioning functionality, so that applications that need to can access the Motif 1.1.3 shared libraries. For more information on versioning, see the Programmer's Guide.


PrevHomeNext
Profiling ToolsUpRun-Time Libraries