Annotation of micropolis/src/tcl/porting.txt, revision 1.1

1.1     ! root        1: This file contains a collection of notes that various people have
        !             2: provided about porting Tcl to various machines and operating systems.
        !             3: I don't have personal access to any of these machines, so I make
        !             4: no guarantees that the notes are correct, complete, or up-to-date.
        !             5: In some cases, a person has volunteered to act as a contact point
        !             6: for questions about porting Tcl to a particular machine;  in these
        !             7: cases the person's name and e-mail address are listed.
        !             8: 
        !             9: ---------------------------------------------
        !            10: Cray machines running UNICOS:
        !            11: Contact: John Freeman ([email protected])
        !            12: ---------------------------------------------
        !            13: 
        !            14: 1. The nm command on unicos doesn't have a -p option, so I removed it
        !            15: from the config script without apparent harm.
        !            16: 
        !            17: diff -c -r1.1 config
        !            18: *** 1.1        1991/11/12 15:11:51
        !            19: --- config     1991/11/12 15:14:18
        !            20: ***************
        !            21: *** 57,63 ****
        !            22:       echo "  to set the libc variable."
        !            23:       exit(1)
        !            24:   endif
        !            25: ! nm -p $libc > tmp.libc
        !            26:   if ( $status != 0 ) then
        !            27:       echo "- ERROR\!\!  Nm failed to extract names of system-supplied library"
        !            28:       echo "  procedures from $libc.  You'll have to modify config by hand to"
        !            29: --- 57,63 ----
        !            30:       echo "  to set the libc variable."
        !            31:       exit(1)
        !            32:   endif
        !            33: ! nm $libc > tmp.libc
        !            34:   if ( $status != 0 ) then
        !            35:       echo "- ERROR\!\!  Nm failed to extract names of system-supplied library"
        !            36:       echo "  procedures from $libc.  You'll have to modify config by hand to"
        !            37: 
        !            38: 2. There is an error in the strstr function in UNICOS such that if the
        !            39: string to be searched is empty (""), the search will continue past the
        !            40: end of the string.  Because of this, the history substitution loop
        !            41: will sometimes run past the end of its target string and trash
        !            42: malloc's free list, resulting in a core dump some time later.  (As you
        !            43: can probably guess, this took a while to diagnose.)  I've submitted a
        !            44: problem report to the C library maintainers, but in the meantime here
        !            45: is a workaround.
        !            46: 
        !            47: -----------------------------------------------------------------
        !            48: diff -c1 -r1.1 tclHistory.c
        !            49: *** 1.1        1991/11/12 16:01:58
        !            50: --- tclHistory.c       1991/11/12 16:14:22
        !            51: ***************
        !            52: *** 23,24 ****
        !            53: --- 23,29 ----
        !            54:   #include "tclInt.h"
        !            55: + 
        !            56: + #ifdef _CRAY
        !            57: + /* There is a bug in strstr in UNICOS; this works around it. */
        !            58: + #define strstr(s1,s2) ((s1)?(*(s1)?strstr((s1),(s2)):0):0)
        !            59: + #endif _CRAY
        !            60: 
        !            61: 
        !            62: ---------------------------------------------
        !            63: HP-UX systems:
        !            64: ---------------------------------------------
        !            65: 
        !            66: 1. The #define for TCL_UNION_WAIT in tclUnix.h needs to be set to 0,
        !            67: not 1.  I've tried a number of techniques to get the "config" script
        !            68: to figure this out and set it correctly, but so far I haven't been
        !            69: able to make it work for HP-UX systems.
        !            70: 
        !            71: 2. It may also be useful to add the flag "-D_BSD" to CFLAGS in the
        !            72: Makefile, but I'm not sure this is necessary (and it may even be
        !            73: evil) if TCL_UNION_WAIT has been #define'd correctly.
        !            74: 
        !            75: ---------------------------------------------
        !            76: MIPS systems runing EP/IX:
        !            77: ---------------------------------------------
        !            78: 
        !            79: 1. Need to add a line "#include <bsd/sys/time.h>" in tclUnix.h.
        !            80: 
        !            81: 2. Need to add "-lbsd" into the line that makes tclTest:
        !            82: 
        !            83:        ${CC} ${CFLAGS} tclTest.o libtcl.a -lbsd -o tclTest
        !            84: 
        !            85: ---------------------------------------------
        !            86: IBM RS/6000 systems running AIX:
        !            87: ---------------------------------------------
        !            88: 
        !            89: 1. The system version of strtoul is buggy, at least under some
        !            90: versions of AIX.  If the expression tests fail, try forcing Tcl
        !            91: to use its own version of strtoul instead of the system version.
        !            92: To do this, first copy strtoul.c from the compat subdirectory up
        !            93: to the main Tcl directory.  Then modify the Makefile so that
        !            94: the definition for COMPAT_OBJS includes "strtoul.o".  Note:  the
        !            95: "config" script should now detect the buggy strtoul and substitute
        !            96: Tcl's version automatically.
        !            97: 
        !            98: 2. You may have to comment out the declaration of open in tclUnix.h.
        !            99: 
        !           100: 3. The "nm -p ..." line in the file "config" has to be changed to
        !           101: "nm -en ..." if you use the version of nm that's in /bin.  If you're
        !           102: set up to use the BSD version (in /usr/ucb) then this won't be a
        !           103: problem.
        !           104: 
        !           105: ---------------------------------------------
        !           106: AT&T 4.03 OS:
        !           107: ---------------------------------------------
        !           108: 
        !           109: Machine: i386/33Mhz i387 32k Cache 16MByte 
        !           110: OS: AT&T SYSV Release 4 Version 3
        !           111: X: X11R5 fixlevel 9
        !           112: Xserver: X386 1.2
        !           113: 
        !           114: 1. Change the Tk Makefile as follows:
        !           115: XLIB            = -lX11
        !           116:        should be changed to:
        !           117: XLIB            = -lX11 -lsocket -lnsl
        !           118: 
        !           119: 2. Change the Tcl "config" script as follows:
        !           120: set libc="/lib/libc.a"
        !           121:        should be changed to:
        !           122: set libc="/usr/ccs/lib/libc.a"
        !           123: 
        !           124: -------------------------------------------------------
        !           125: Motorola MPC's running UNIX System V/88 Release R32V2:
        !           126: -------------------------------------------------------
        !           127: 
        !           128: 1.  Tcl should build without any modifications to sources, but csh
        !           129: isn't supplied with the operating system so you'll have to find and
        !           130: use the public-domain tcsh.
        !           131: 
        !           132: -------------------------------------------------------
        !           133: SGI machines running Irix release 4.0.1 or earlier:
        !           134: -------------------------------------------------------
        !           135: 
        !           136: 1. There's a bug in the optimizer;  compile tclVar.c using -O0.
        !           137: 
        !           138: 2. In tclUnix.h, add the following just before the declaration of environ:
        !           139: 
        !           140: #ifdef __sgi
        !           141: #define environ _environ
        !           142: #endif
        !           143: 
        !           144: ---------------------------------------------
        !           145: NeXT machines running NeXTStep 2.1:
        !           146: ---------------------------------------------
        !           147: 
        !           148: 1. Change the "libc" definition in the config file to
        !           149:     set libc="/lib/libsys_s.a"
        !           150: 
        !           151: 2. Several of the "format" and "scan" tests will fail, but these are
        !           152: all minor nits stemming from imperfect POSIX compliance in the NeXT
        !           153: C library procedures.  The errors are unlikely to affect any Tcl
        !           154: applications.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.