blob: b9f9433723a018856f1637ba19ea92fd64a66188 (
plain) (
tree)
|
|
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
[email protected]
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
|