|
|
If you are migrating to UnixWare from a BSD System environment, or want to run BSD system applications, you may need to install and access the BSD libraries and header files included in the BSD Compatibility Package.
The BSD Compatibility Package is a separately installed, optional package that contains the following, which are either different from UnixWare or don't exist in UnixWare:
By using the BSD Compatibility Package, you can take advantage of a comprehensive BSD environment compatibility.
The subsections below discuss BSD header files, libraries, and how to access them.
Once the BSD Compatibility Package is installed, compatibility package header files and libraries called by the C compiler (cc) and linker (ld) are located in /usr/ucbinclude and /usr/ucblib. To access these header files and libraries, set your PATH variable so that /usr/ucb comes before the default UnixWare path directories /sbin, /usr/sbin, /usr/bin, and /usr/ccs/bin.
To find out what your path is currently, use the echo command as shown in the following example.
$ echo $PATH PATH=.:/home/medici/bin:/usr/bin:/usr/ucb:/etc $
To make the BSD Compatibility Package commands the default, change the order of the directories in your path, as shown in the example below:
$ PATH=.:/home/medici/bin:/usr/ucb:/usr/bin:/etc $
To make this change permanent, put a line like the above PATH command in your .profile file (or your .cshrc file, if you're using the C shell).
By setting your path as shown above, you'll use /usr/ucb/cc when you compile C programs. /usr/ucb/cc sets its default paths to pick up, in this order:
The BSD Compatibility Package libraries contain the routines listed in the following table. These routines are either not in UnixWare or have a different interface and a different system call ``wrapper'' than their UnixWare counterparts; these latter routines are marked with an asterisk (*).
Not all entries in this table appear on their own manual pages. You can use the Search capability of the online browser or see the permuted index in the printed version of the Operating System API Reference for the name of the manual page that explains a particular routine.
_longjmp | getwd | setreuid |
_setjmp | ieee_functions | setstate |
alloca | ieee_handler | settimeofday* |
alphasort | index | setusershell |
bcmp | initstate | setvbuf* |
bcopy | itom | sfconvert |
closelog | killpg | sgconvert |
copysign | longjmp* | sigblock |
dbm_clearerr | madd | sigfpe |
dbm_close | mcmp | siginterrupt |
dbm_delete | mctl | siglongjmp* |
dbm_error | mdiv | sigmask |
dbm_fetch | mfree | signal* |
dbm_firstkey | min | sigpause |
dbm_nextkey | mkstemp | sigsetjmp* |
dbm_open | mout | sigsetmask |
dbm_store | msqrt | sigstack |
dbminit | msub | sigvec |
decimal_to_double | mtox | single_to_decimal |
decimal_to_extended | mult | sleep* |
decimal_to_single | nextkey | sprintf* |
delete | nice* | srand* |
double_to_decimal | nlist* | srandom |
econvert | pow | stejmp* |
endusershell | printf* | store |
extended_to_decimal | psignal* | strcasecmp |
fconvert | rand* | strncasecmp |
fetch | random | sys_siglist |
firstkey | re_comp | syscall |
floatingpoint | re_exec | syslog |
fopen* | reboot | times* |
fp_class | reboot | ualarm |
fprintf* | regex* | usleep |
freopen* | rindex | utimes |
ftime | rpow | vfprintf* |
gcd | scalbn | vprintf* |
gconvert | scandir | vsprintf* |
getdtablesize | sdiv | wait3 |
gethostid | seconvert | wait* |
gethostname | setbuf* | wiFEXITED |
getpagesize | setbuffer | wiFSIGNALED |
getpriority | sethostname | wiFSTOPPED |
getrusage | setlinebuf | xtom |
gettimeofday* | setpriority | |
getusershell | setregid |
The BSD Compatibility Package includes a set of header files that provide a high degree of source compatibility for applications that were originally written to work on BSD.
Some BSD header files do not exist in UnixWare. Others differ in ways that cannot be reconciled in a single file and are listed in the following table with an asterisk (*).
assert.h* | strings.h | sys/reboot.h |
dbm.h | struct.h | sys/resource.h* |
fp.h | sunfp.h | sys/signal.h* |
mp.h | sys/dirent.h* | sys/types.h* |
ndbm.h | sys/fcntl.h* | sys/vfs.h* |
regexp.h* | sys/file.h* | sys/wait.h* |
setjmp.h* | sys/ieeefp.h | sysexits.h |
signal.h* | sys/mtio.h | ufs/quota.h |
stdio.h* | sys/param.h* | unistd.h* |