NAME

compat_osf1 - setup procedure for running OSF/1 binaries

DESCRIPTION

NetBSD supports running OSF/1 (a.k.a Digital Unix, a.k.a. Tru64) binaries on NetBSD/alpha systems. Most programs should work, including the ones that use the shared object libraries. Programs that make direct MACH system calls will not work. The OSF/1 compatibility feature is active for kernels compiled with the COMPAT_OSF1 option enabled (see options(4)).

To run dynamically linked programs, you will need the OSF/1 shared libraries, runtime linker, and certain configuration files found in /etc. These are installed in a ``shadow root'' directory called /emul/osf1. Any file operations done by OSF/1 programs run under NetBSD will look in this directory first, and fall back to the file system proper. So, if an OSF/1 program opens /etc/svc.conf, NetBSD will first try to open /emul/osf1/etc/svc.conf, and if that file does not exist it will then try /etc/svc.conf. Shared libraries and configuration specific to OSF/1 should be installed in the shadow tree.

Setting up /emul/osf1

The simple technique is to install pkgsrc/emulators/osf1_lib. (You may also want to install pkgsrc/www/navigator and/or pkgsrc/www/communicator.)

Alternatively, if you have access to an OSF/1 machine and if the licensing details permit, you can copy the contents of:

/shlib
/usr/shlib
/etc/sia
/usr/lib/X11/locale

(The latter is required to run Netscape Navigator or Communicator.)

Also copy

/etc/svc.conf
/usr/ccs/lib/cmplrs/otabase/libots.so
/sbin/loader

Or, simply NFS mount the appropriate directories under /emul/osf1.

SEE ALSO

config(1), options(4)

BUGS

Your hostname(1) must contain a dot or your resolv.conf(5) must contain a search line. Without one of those, the OSF/1 resolver will die and no hostname resolution will be possible.

Certain values in /emul/osf1/etc/svc.conf can cause programs to fail with ``Bad system call''.

Pathnames pointed to by symbolic links are not looked up in the shadow root when running an OSF/1 executable. This is not consistent.