Using the UDK

Compiling applications for UnixWare 7 Release 7.0.0 and Release 7.0.1

If you are compiling an application using the Release 7.1 version of libc and the UDK, and want your application to also run on Release 7.0.0 or Release 7.0.1, then you may need to include the following in your cc(1) command line:

   -l cudk70

If you do not, then applications built with the Release 7.1 version of libc may not run on Release 7.0.0 or Release 7.0.1. This is because 81 symbols from the archive part of libc (listed in the table below) were moved into the shared part for Release 7.1.

To provide a way for users to create applications that use these symbols and run on all UnixWare 7 releases, an archive library (libcudk70.a), is provided which contains only the following symbols (moved from the archive to the shared part of libc since Release 7.0.0):

_adjtime adjtime
_async_daemon async_daemon
_ecvt ecvt
_exect exect
_exportfs exportfs
_fcvt fcvt
_fstat fstat
_fstat32 fstat32
_fstat64 fstat64
_fstatfs fstatfs
_gcvt gcvt
_getdents getdents
_gethz gethz
_gtty gtty
_keyctl keyctl
_lstat lstat
_lstat32 lstat32
_lstat64 lstat64
_mincore mincore
_nfs_getfh nfs_getfh
_nfssvc nfssvc
_plock plock
_realpath realpath
_setegid setegid
_seteuid seteuid
_settimeofday settimeofday
_stat stat
_stat32 stat32
_stat64 stat64
_statfs statfs
_stty stty
_syscall syscall
_sysfs sysfs
_sysi86 sysi86
_ttyslot ttyslot
_uadmin uadmin
_utssys utssys
_vfork vfork

NOTE: The _stat and stat interfaces listed above are the versions of the stat system call that provide the older System V Release 3-style stat structure (before expanded fundamental types). Normally, the stat.h header file translates a call to stat(2) to xstat, which has always been in the shared part libc.

New applications compiled without -l cudk70 on Release 7.1 will no longer bind the symbols listed above into their own images and will, instead, expect to find them in the shared part of libc. Since the native versions of the shared part of libc on Release 7.0.0 and Release 7.0.1 do not contain the above symbols, such applications will not run on these systems. To permit Release 7.1 applications to run on prior version of UnixWare 7, include the libcudk70.a library during the linking phase of compiling the application.

Next topic: UDK on SCO OpenServer
Previous topic: UDK on UnixWare 7

© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 27 April 2004