Solaris Transition Guide

Libraries

This release is compliant with the System V Interface Definition, Third Edition (SVID 3). Programs written with the SunOS release 4.1 System V libraries are easy to port to this release. Programs using the SunOS release 4 BSD C library require more effort.

Reorganized Libraries

Several functions and groups of functions were moved into different libraries. This can cause references to these functions to be flagged as undefined when compiling a SunOS release 4 application in the Solaris 7 environment.

After a compile, check the man page of any functions flagged as undefined. The synopsis lists both the -l linker option and any include files that you need to resolve the symbol.

Shared Libraries

Shared libraries do not currently support minor version numbers.

Files for shared initialized data (.sa) are no longer required; no .sa files are provided with the Solaris 7 software.

Resource Limits

In previous releases, static table allocations were used for resources such as file descriptors and active processes. These resources are now dynamically allocated, so they are limited by the physical memory available. Table 16-3 shows the resource limits.

Table 16-3 Resource Limits

Configuration 

Limitation 

RLIMIT_CORE

Maximum size of core file (in bytes) that can be created by a process 

RLIMIT_CPU

Maximum amount of CPU time (in seconds) that a process can use 

RLIMIT_DATA

Maximum size of a process's heap (in bytes) 

RLIMIT_FSIZE

Maximum size of a file (in bytes) that can be created by a process 

RLIMIT_NOFILE

One more than the maximum number of file descriptors that can be created by a process 

RLIMIT_VMEM

Maximum size (in bytes) to which a process's mapped address space may grow 

RLIMIT_STACK

Maximum size (in bytes) of a process's stack 


Note -

Any shared objects that need the networking libraries must be dynamically linked. The networking libraries require libdl.so.1. An archive library is not available.


Table 16-4 shows SunOS release 4 and Solaris 7 libraries and their locations.

Table 16-4 Comparison of Library Locations

Library Name 

SunOS release 4 Directory 

Solaris 7 Directory 

libbsdmalloc.a

/usr/lib

/usr/lib

libc.a

/usr/lib and /usr/5lib

/usr/lib

libc.so.1.7

/usr/lib

/usr/lib

libc.so.2.7

/usr/5lib

/usr/lib

libc_p.a

/usr/5lib

Not available 

libcurses.a

/usr/lib and /usr/5lib

/usr/ucblib and /usr/ccs/lib

libcurses_p.a

/usr/5lib

Not available 

libdbm.a

/usr/lib

/usr/ucblib

libdl.so.1.0

/usr/lib

/usr/lib

libg.a

/usr/lib

Not available 

libkvm.a

/usr/lib

Not available  

libkvm.so.0.3

/usr/lib

/usr/lib

libl.a

/usr/lib

/usr/ccs/lib

libln.a

/usr/lib

Not available 

liblwp.a

/usr/lib

Not available 

libm.a

/usr/lib

/usr/lib and /usr/lib/libp

libmp.a

/usr/lib

/usr/lib

libnbio.a

/usr/lib

Not available 

libnsl.a

/usr/lib

/usr/lib

libpixrect.a

/usr/lib

Not available

libpixrect.so.2.14

/usr/lib

Not available 

libposix.a

/usr/lib

Not available 

libresolv.a

/usr/lib

/usr/lib

librpcsvc.a

/usr/lib

/usr/lib

libsuntool.so.0.54

/usr/lib

Not available 

libsunwindow.so.0.55

/usr/lib

Not available 

libsvidm.a

/usr/5lib

Not available 

libsvidm_p.a

/usr/5lib

Not available 

libtermcap.a

/usr/lib and

/usr/5lib

/usr/ucblib and /usr/ccs/lib

libtermlib.a

/usr/lib and

/usr/5lib

/usr/ccs/lib

libxgl.so.1.1

/usr/lib

/opt/SUNWits/

Graphics-sw/xgl/lib

libxpg.a

/usr/xpg2lib

Not available 

liby.a

/usr/lib and

/usr/5lib

/usr/ccs/lib