This file contains a collection of notes that various people have provided about porting Tk to various machines and operating systems. I don't have personal access to any of these machines, so I make no guarantees that the notes are correct, complete, or up-to-date. If you see the word "I" in any explanations, it refers to the person who contributed the information, not to me; this means that I probably can't answer any questions about any of this stuff. In some cases, a person has volunteered to act as a contact point for questions about porting Tcl to a particular machine; in these cases the person's name and e-mail address are listed. I'm very interested in getting new porting information to add to the file; please mail updates to "john.ousterhout@eng.sun.com". This file reflects information provided for Tk 4.0 and later releases. If there is no information for your configuration in this file, check the file "porting.old" too; it contains information that was submitted for Tk 3.6 and earlier releases, and some of that information may still be valid. A new porting database has recently become available on the Web at the following URL: http://www.sunlabs.com/cgi-bin/tcl/info.4.0 This page provides information about the platforms on which Tcl 7.4 and Tk 4.0 have been compiled and what changes were needed to get Tcl and Tk to compile. You can also add new entries to that database when you install Tcl and Tk on a new platform. The Web database is likely to be more up-to-date than this file. RCS: @(#) $Id: porting.notes,v 1.2 1998/09/14 18:23:54 stanton Exp $ -------------------------------------------- Solaris, various versions -------------------------------------------- 1. If typing "make test" results in an error message saying that there are no "*.test" files, or you get lots of globbing errors, it's probably because your system doesn't have cc installed and you used gcc. In order for this to work, you have to set your CC environment variable to gcc and your CPP environment variable to "gcc -E" before running the configure script. 2. Make sure that /usr/ucb is not in your PATH or LD_LIBRARY_PATH environment variables; this will cause confusion between the new Solaris libraries and older UCB versions (Tk will expect one version and get another). 3. On 486 PCs with Solaris 2.4, when compiling with gcc 2.6.0, tkMessage.c appears to hang gcc. If the -O switch is removed then it compiles fine. -------------------------------------------- 486 PCs, Solaris 2.4 -------------------------------------------- When compiling with gcc 2.6.0, tkMessage.c appears to hang gcc. If the -O switch is removed then it compiles fine. -------------------------------------------- SGI machines, IRIX 5.2, 5.3, IRIX64 6.0.1 -------------------------------------------- 1. Add "-D_BSD_TIME" to CFLAGS in Makefile. This avoids type conflicts in the prototype for the gettimeofday procedure. 2. If you're running under Irix 6.x and wish dumps core, try removing -O from the CFLAGS in Makefile and recompiling; compiler optimizations seem to cause problems on some machines. -------------------------------------------- QNX 4.22 -------------------------------------------- All of the source files built as is. All I had to do was edit the Makefile generated by ./configure to specify where the X11 libraries were (ie, I added in -L/usr/X11/lib) -------------------------------------------- HP-UX -------------------------------------------- There are problems compiling Tk gcc (version 2.7.2) and the HP assembler. The problem is that if static functions are called using a pointer reference, double arguments are not transferred correctly into the function. That can be fixed by making all those functions global. This happens with the ScaleXxx() and TranslateXxx() functions for all canvas item types. The simplest fix is configure gcc to use the GNU assembler.