|
|
If you are migrating to SCO OpenServer 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 SCO OpenServer or don't exist in SCO OpenServer:
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 SCO OpenServer 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 SCO OpenServer or have a different interface and a different system call ``wrapper'' than their SCO OpenServer 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 SCO OpenServer. 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* |