
INSTALLATION INSTRUCTIONS FOR EXTENDED TCL ON UNIX AND UNIX-LIKE SYSTEMS
------------------------------------------------------------------------

$Id: INSTALL,v 8.19 2005/11/20 19:58:27 hobbs Exp $

See the toplevel README for updated TEA-based install instructions.
This file remains for porting notes.

COMPATIBILITY
=============
This version is compatible Tcl 8.2.0+

PORTING NOTES
=============

General Porting Notes:
   o Flock test hanging:  Running the flock tests on a tmpfs filesystem will
     cause flock failures on some systems.

   o Other flock tests hanging:  Problems have been encountered on some Sun
     systems with the flock tests.  This might occur on other systems as
     well.  These are probably due to an incorrectly configured NFS lockd.
     The tests have been modified to try and report problems rather than
     hang.  It might hang anyway, in this case, rename tests/flock.test to
     tests/flock.bad to prevent them from being run.  If anyone can give
     any clues into what is going on, we would love to detect this.


SVR3 systems (14 character file name limit):
   o All critical files in TclX are 14 characters or less.  A few help
     files are longer that 14 characters.  If these can be extracted with
     name truncation, they can still be referenced in the help system by the
     truncated name.  If they can't be extracted, then they can be regenerated
     with truncated names by doing a "make buildhelp".


DEC Ultrix:
   o Setting O_APPEND via the fcntl FSETFL system call returns an EOPNOTSUPP
     (Operation not supported) error.  This causes failures of fcntl tests
     2.4 and 2.5. This is an Ultrix bug as far as we can tell.

   o The fstat system call does does not return updated modification times on
     an open file.  This causes fstat test 3.1 to fail. This is an Ultrix bug.

   o Several tests fail when Tcl is run on an NFS mounted file system.

   o Problems with flock tests have been reported on some Ultrix systems.  See

     `General Porting Notes' section above.

DEC Alpha:
   o message-cat-1.3 test fails due to broken catopen.  This is should not
     affect actual use of this command.

   o On OSF/1 V2.0 Rev 240 it has been noted that strtod segmentation faults
     when the first character of a string has the high order bit set. This
     breaks string expressions and eight bit characters.


SUNOS:
   o See note on flock tests hanging under the "general" section.


SOLARIS:
   o glob & library test failures observed on SunOS 5.3. Doing a "glob *"
     in either the tclX shell or tclsh produces a mangled listing of the
     directory.  This is caused by a mismatch between the the dirent.h
     include file and C library that is being used.  We have been told
     that this can be fixed either by making sure /usr/ucb is not in your
     path or by compiling with the "ucbcc" command.  If you chose to use
     ucbcc, remember to set CC=ucbcc environment variable, make clean, and
     reconfigure before going a "make CC=ucbcc". Using gcc is another
     solution.

   o message-cat-1.3 test fails due to broken catopen.  This is should not
     affect actual use of this command.

   o compat/server tests 8.2.8 and 8.2.22 fail on Solaris 2.4 and maybe
     earlier.  This appears to be a bug in the Solaris kernal related to
     dup-ing sockets.  The problem does not occur in Solaris 2.5.1.

SCO:
   o SCO Unix systems have a "ranlib" command that is used for Xenix cross-
     development.  Pre-ODT 3.0 development systems, the command returns
     an error if used on COFF files.  Many developers rename the command
     to "xranlib" if they are not doing cross development.  Later versions
     of the command return a warning if used on COFF binaries.


SGI:
   o There appears to be a compiler bug with some SGI compilers.
     If you see core dumps during the tests, recompile both Tcl and TclX
     without -O (make CFLAGS=).  This was seen on IRIX 4.0.5.

   o Systems upgraded to IRIX 5.2 may have old versions of libsocket.a and
     libnsl.a left on the system.  The configure  will pick these up and 
     attempt to use them.  This will prevent wishx from connecting to the
     display.   Either remove the files from the system or edit the makefiles
     to remove the use of "-lsocket -lnsl".

   o The fstat system call does does not return updated modification times on
     an open NFS accessed file.  This causes fstat test 3.1 to fail.
     This is an IRIX bug.

  
BSDI:
   o The BSDI 1.0  make is broken.  It does not correctly handle the setting of
     ${MAKEFLAGS} and quits on an error when an empty make flags set is passed
     to the next level of make.  GNU make is advised instead.  Use the
     following make command to work around the problem:

          make -k MAKEFLAGS=k

   o BSDI 1.1 nice system call does not return an error on attempts to increase
     priority for non-root users.  This causes nice test 1.7 to fail.

   o Also seee the 386BSD/BSDI section below.

386BSD/NetBSD:
   o Expect round off errors in floating point math tests.

   o Expect errors in floating point math error handling tests.

   o Expect errors in format command tests.

   o The installation of the manual pages fails because make can't handle
     passing a empty string as an argument to a program (it deletes the
     string).  Try GNU make.

   o NetBSD 1.0 declares catclose as returning void rather than int. This is
     checked for in configure but still causes the message-cat-2.4 test
     to fail.


CONVEX:
   o Set both NOBUF and NONBLOCK on a pipe will result in read returning the
     the error "Errno is zero".


LINUX:
   o If shell scripts run in make file exit with exit code 127, a new
     version of Bash is needed.
   o Received error:  ld: Output file requires shared library `libc.so.4'
     gcc: Internal compiler error: program ld got fatal signal 6:
     Recompile without -g.


CRAY:
   o catgets does not return the default string, causing failure of 
     some msgcat tests.


