|
|
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.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.