November 4, 1999 COMPAT_OSF1 8

### 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.