[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Last Piece of the Puzzle



Hi Mason,

I may be able to answer some questions.  First, TKXLIBS is
probably NOT referring to TkX.  I think it refers to Xlibs,
which IS a subdirectory of regular old standard Tk, and it's
the interface to the X Window System.  Hence the need to link
with -lX11 ... from the X11R6 library.

I downloaded both Tcl and Tk 8.0.5 from the Mash dist site
and built them under linux.  Yes, Tk does have a libtk; it's
in the tk8.0.5/unix directory with filename libtk8.0.a.  I
did a 'make install' for both Tcl and Tk, which created a
'lib' directory and put libtk8.0.a there (i.e., my setup
is like this:
	We do an NFS mount for /usr/local so I made a
	local directory called "/usr/local.scooby".  I
	downloaded Tcl and Tk to /usr/local.scooby and
	did 'make' for both -- at this point my Tk8.0.5
	directory tree is:
		/usr/local.scooby/tk8.0.5/generic
			(which has a bunch of tkXXX.c files)
			and one of these files is tk.h, which
			is of importance to mash)
		/usr/local.scooby/tk8.0.5/library
			(which has the xxx.tcl files like tk.tcl,
			menu.tcl, ...)
		/usr/local.scooby/tk8.0.5/unix
			(which has 'wish' after the build, plus
			some more .c files and libtk8.0.a)
		/usr/local.scooby/xlib (with more .c files)
		/usr/local.scooby/xlib/X11 (which has Xlib.h and
			other headers that Tk and mash need)

	I also have these dirs:   /usr/local.scooby/include
				  /usr/local.scooby/bin
				  /usr/local.scooby/lib
	The 'make install' for tcl/tk put tcl.h/tk.h (respectively)
		in /usr/local.scooby/include, put tclsh8.0 and wish8.0
		in /usr/local.scooby/bin, and put the following in
		/usr/local.scooby/lib:
			libtcl8.0.a, libtk8.0.a, tcl8.0/ (dir with
				the xx.tcl files for Tcl), and
				tk8.0 (dir with the xx.tcl files for Tk)

So if your Tcl/Tk directory structures aren't like this, maybe
something went wrong with either your download or the build
(although you don't have to do 'make install', if you didn't and
only have libtk8.0.a in a subdir in your $HOME directory, maybe
Makefile doesn't have the right path).

I built Tcl/Tk, Otcl, and Tclcl so far under linux, but not
mash.  So far, so good...

--Marcia