diff options
Diffstat (limited to 'system/README.unixware')
-rw-r--r-- | system/README.unixware | 201 |
1 files changed, 201 insertions, 0 deletions
diff --git a/system/README.unixware b/system/README.unixware new file mode 100644 index 0000000000..b9f9433723 --- /dev/null +++ b/system/README.unixware @@ -0,0 +1,201 @@ + +OTP R4B b1 UnixWare Release Notes +------------------------------------ + +Kent Boortz + +This is an *unsupported* release of OTP to UnixWare 2.1.2. +In fact, it should not be considered a release or a product at all, +it is a demo what a real release could look like. + +Questions should be directed directly to + + Kent Boortz + +Changes or problems: + + * There is no documentation as part of this release. + Use the R5B documentation that comes with the + Solaris release. + + * To run older graphical tools based on 'pxw' like + 'xerl' and 'interpreter' you have to add + "/usr/X/lib" to your LD_LIBRARY_PATH. + + * The OTP test cases looks reasonable well considering the + short time I had to do the port. The tests of the base + system gives equal results than on Solaris. There are + some problems with the 'ic' application (CORBA) and there + may be some 'mnesia' problems (the tests where not completed + when I wrote this note) + + * OTP normally try to handle IP host name lookups + by itself, parsing /etc/hosts and other configuration + files. This is done because the normal calls like + gethostbyname() is blocking. In this UnixWare port + the normal gethostbyname() is used and if a reply + from the name server takes some time this may block + the OTP system from doing other tasks (it may be the + case that it doesn't block the whole system, it may + just keep other Erlang processes that do DNS lookups + waiting, I'm not sure). + + * The erl_interface library support varios types of threading + This is not supported in the OTP UnixWare release. + + * If you use gcc you compile and link dynamic drivers with + + gcc -fPIC -c foo.c + ld -G -t text -o foo.so foo.o + + With the UnixWare C compiler I belive it will be + + gcc -KPIC -c foo.c + ld -G -t text -o foo.so foo.o + + * The default shell limits was a problem when I was running + some large tests. These limits can be changed by building + a new kernel. To enable unlimited use of virtual memory + and data you do as root + + % /etc/conf/bin/idtune SDATLIM 0x7FFFFFFF + % /etc/conf/bin/idtune HDATLIM 0x7FFFFFFF + % /etc/conf/bin/idtune SVMMLIM 0x7FFFFFFF + % /etc/conf/bin/idtune HVMMLIM 0x7FFFFFFF + % /etc/conf/bin/idbuild + + When you reboot a new kernel will be built. + + * I didn't give the system enough swap space. You can add + swap on an ordinary file. To add about 100 MB more swap + you do as root + + % dd < /dev/zero > /moreswap bs=512 count=200000 + % swap -a /moreswap 0 200000 + + The first line will create a 100 MB file on the root partition + and the second line will add this file as swap space. Note that + the "swap" command is a bit buggy and may hang. Reboot UnixWare + and try again. + +Internel notes on build the release + + * If the network addresses are changed you enter single user + mode by hitting a key after the "Booting UnixWare..." and + the beep. At the prompt + + BOOT# Hit return only to clear line + BOOT# INITSTATE=S + BOOT# go + + This will put you into single user mode. Find out ip address, + default router and DNS server. At the shell prompt + + # /usr/local/bin/tcsh + # setenv TERM vt100 + # cd /etc + # vi resolv.conf + < edit and save with :x! > + # cd /etc/inet + # vi hosts + < edit and save with :x! > + # vi config + < edit and save with :x! > + # cd / + # shutdown now + + Now it should be possible to restart in single user mode. + It may still have long timeouts because the NIS information + is wrong. As root you do + + # ypinit -c + + and type in "arda" as NIS domain and "gandalf.du.uab.ericsson.se" + as NIS server. + + * Prebuilding the release. Create a view with the -ncaexported option. + See "http://otp/product/internal/test/doc/howto/export_view.html". + Build a solaris release (optionally using a boostrap compiler) + + # cd /clearcase/otp/erts/autoconf; cm -V; cd .. + # cm -V opt EMULATOR=jam BUILD_ALL=1 >& LOG.1 + + * Create the directories for mount points and mount the view on + the UnixWare machine. + + # mkdir -p /clearcase/otp; cd /clearcase/otp + # mkdir erts internal_tools libraries system tools + + Use s script like + + #!/bin/sh + HOST=$1 + VIEW=$2 + MOUNT=$HOST:/view/$VIEW/clearcase/otp + + mount -F nfs $MOUNT/erts $DIR/erts + mount -F nfs $MOUNT/libraries $DIR/libraries + mount -F nfs $MOUNT/tools $DIR/tools + mount -F nfs $MOUNT/internal_tools $DIR/internal_tools + mount -F nfs $MOUNT/system $DIR/system + + to mount the ClearCase VOBs. + + * Building the + * Building the + + "/usr/X/lib" to your LD_LIBRARY_PATH. + + Had to patch the file + + /usr/local/lib/g++-include/_G_config.h + + not to define _G_HAVE_SYS_CDEFS 1 + + Problems with pxw yacc + + yacc -dv -b i386-univel-sysv4.2MP/y parse.y + UX:yacc: ERROR: Illegal option -- b + UX:yacc: TO FIX: Usage: yacc [-wvVdlt] [-Q(y/n)] [-p driver_file] file + gmake[6]: *** [i386-univel-sysv4.2MP/y.tab.c] Error 1 + + Create some symbolic links (until got compiled libs for UnixWare) + + # cd crypt/src/ssleay + # ln -s elibcrypto.so.i386-pc-solaris2.5.1 elibcrypto.so.i386-univel-sysv4.2MP + # cd ssl/src/ssleay + # ln -s i386-pc-solaris2.5.1 i386-univel-sysv4.2MP + + Run + + # ntpdate super.du.uab.ericsson.se + + now and then to set the time on the machine. + + + Disabled HAVE_MULTICAST_SUPPORT from "drv/inet_drv.c", should be set in configure + + UnixWare want two arguments to 'ln' + + SkunkWare gcc, ln, tar, ..... required, make sure PATH points out them first + + The emulator has to be linked with "gcc -r -Wl,-Bexport " to be linkable + with dynamic libraries. + + Tcl/Tk was compiled from + + tcl7.6p2plus.tar.gz + tk4.2p2plus.tar.gz + + and the make-files where changed, see + + (not needed it seems, if not using gcc at least) + + + VILL HA "-ly -ll" BARA PA PXW ??????? + + You can view the limits of the Unix processes in + + /etc/conf/mtune.d/proc + |