Subject: COMPAT_SUNOS
To: None <current-users@sun-lamp.CS.Berkeley.EDU,>
From: Theo de Raadt <deraadt@fsa.ca>
List: current-users
Date: 06/17/1994 15:41:24
for those of you with sparc machines, or m68k architectures that have
support for the sunos compat stuff, i wrote up a quick little manual
page. it explains the steps needed so that dynamically linked
executables will work.

it works for me, but i am not user much out of my sunos-compiled
/usr/local partition (which I mount over nfs from a sunos machine :-)

i include the man page so that people can play with it and report
problems to me.

----------------------------------------------------------------------

COMPAT_SUNOS(8)         NetBSD System Manager's Manual         COMPAT_SUNOS(8)

NAME
     COMPAT_SUNOS - setup procedure for m68k and sparc architectures

DESCRIPTION
     NETBSD/sparc and some of the NetBSD/m68k architectures can run SunOS exe-
     cutables. Most executables will work.

     The exceptions include programs that use the SunOS kvm library, and vari-
     ous system calls, ioctl()'s, or kernel semantics that are difficult to
     emulate.  The number of reasons why a program might fail to work is
     (thankfully) longer than the number of programs that fail to run.

     Static executables will normally run without any extra setup.  This pro-
     cedure details the directories and files that must be setup to allow dy-
     namically linked executables to work.

     The files you need are on your Sun machine.  You need to worry about the
     legal issues of ensuring that you have a right to use the required files
     on your machine.

     1.   On your NetBSD machine, do the following:
          mkdir /sun
          mkdir /sun/lib
          mkdir /sun/5lib
          ln -s /sun/5lib /usr/5lib

     2.   cp SunOS:/usr/lib/lib*.so.*.* NetBSD:/sun/lib

     3.   cp SunOS:/usr/5lib/lib*.so.*.* NetBSD:/sun/5lib

     4.   cp SunOS:/usr/lib/ld.so NetBSD:/usr/lib/ld.so

     5.   On your NetBSD machine, edit the ld.so binary using a binary editor.
          In the binary, change every occurance of a path that starts with
          /usr so that it starts with /sun. Note that the strings "/usr" and
          "/sun" are the same length.

     This will place the SunOS libraries on your NetBSD machine in a location
     where they do not conflict with the standard libraries, and also teach
     the SunOS dynamic linker to search for the SunOS dynamic libraries in
     that place.

BUGS
     A list of things which fail to work in compatibility mode should be here.

4th Berkeley Distribution        June 16, 1994                               1

------------------------------------------------------------------------------