Hi, At long last, I have committed the patches necessary to build Insight using system-installed versions of Tcl, Tk, Itcl, Itk, and Iwidgets. I have tried to support building using in-tree tcl as well, and if they are present, they will be used over the system-supplied one. Aside from all the configury hacking, the biggest difference between the older insight and the newer one is Itcl. We must have Itcl/Itk 3.3/Iwidgets 4.0.1 -- these versions use TEA so we can simply "package require" them. We no longer link against them directly. Unfortunately, this isn't perfect (yet). In fact, it's probably far from it. I've really had to hack at the startup sequence and a bunch of other things. I'm sure there are problems that I haven't even seen yet. The biggest problems/issues so far: 1) Using in-tree tcl, tk, itcl, you cannot run insight from the build directory. Don't know why yet, it just exits with an exception from gdb_loc. I have not investigated. Note: This does not happen when using installed tcl and friends (which is the way I plan to use it from now on). 2) I have not tested cygwin a lot [and mingw at all]. I hope to investigate this more fully now that the initial support is in. You *must* use in-tree Tcl/Tk/Itcl for Cygwin, since the 3.2 package of Itcl that is distributed with Cygwin does not support the Tcl Extension Architecture. 3) Fedora 9 uses Tcl/Tk 8.5 and Itcl/Itk 3.4. There is a problem with the combobox package. I'm not sure what's going on here, but let's just say it doesn't "work". It builds, but it doesn't run. If you don't want to help figure out why, use the in-tree Tcl/Tk/Itcl. 4) I haven't tried the testsuite yet. [I know, that's bad. Probably very bad, but I'll address that in time.] If there are any problems, send a note to this list, and I will try to get to it as quickly as I can. Please do not file bug reports on this stuff yet. On my task list for the coming weeks: o Get cygwin working (better?) o Check testsuite o Change insight CVS module to not include tcl/tk/itcl (probably add an "insight+tcl" module) o Change the snapshots to post the code sans tcl. Probably put tarballs for the in-tree tcl, tk, itcl in case someone wants to use/download them. Well, there it is. [Have at it, Tom!] Keith ChangeLog 2008-08-02 Keith Seitz * generic/gdbtk-cmds.c: Don't include itcl.h. * generic/gdbtk-hooks.c: Likewise. * generic/gdbtk.c: Include tcl.h and tk.h instead of itcl.h and itk.h. (gdbtk_init): Rewrite to accommodate using a system-provided Tcl, Tk, Itcl, Itk. (gdbtk_source_start_file) [!_WIN32]: Don't call error() when we fail to source the start file. Just dump the message to stderr. Throw an exception indicating the failure. * library/ehandler.itb (GDBEventHander::dispatch): "itcl_info" is deprecated: use "itcl::find objects" instead. * library/managedwin.itb (window_instance): Ditto. (restart): Ditto. (shutdown): Ditto. (_open): Ditto. (find): Ditto. * library/globalpref.itb (_build_win): Don't pass config arguments for libgui widgets to the constructor. Configure the widget after creation. * library/srcpref.itb (_build_win): Ditto. * library/main.tcl: Update Tcl, Tk, Itcl, Itk, and Iwidgets (just added to this loop) version requirements. No need to initialize Iwidgets separately. * plugins/Make-rules (TCLHDIR): Renamed to TCL_INCLUDES. Change all references. (TCL_BUILD_LIB_SPEC): Renamed to TCL_LIBRARY. Change all references. * plugins/acinclude.m4: Include the standard tcl.m4 instead of the sourceware-derived one. * plugins/configure.ac: Use Tcl's standard SC_* macros instead of the sourceware-derived CYG_AC_* macros. Add logic to deal with using a system-supplied Tcl/Tk. * plugins/configure: Regenerated. * plugins/Makefile.in: Regenerated.