From: Jeff Godfrey on
Hi All,

I just built Tcl/Tk under Win7 from the latest HEAD sources (using
VC++). Tcl built without a hitch, though I had some issues with Tk.
I'm sure they're probably related to the fact that I'm somewhat out of
my element here, but I'd like to get this right...

When building Tk, I received a fatal link error that tcl86.lib couldn't
be found. Inspecting the folder it was looking at, I found that the Tcl
build (made just prior) had created a tcl86t.lib file instead.

Doing some digging, I discovered the trialing "t" suffix represents a
threaded build (from the "rules.vc" file).

Not being entirely sure how to properly rectify the situation, I found a
copy of tcl86.lib on my system in the AS 8.6b1.1 lib folder. I ended up
using that to build Tk against (by assigning TCLDIR to the AS lib folder).

The final result is a working wish86.exe, but I wonder what I should
have done?

Thanks,

Jeff
From: Helmut Giese on
Hi Jeff,
>When building Tk, I received a fatal link error that tcl86.lib couldn't
>be found. Inspecting the folder it was looking at, I found that the Tcl
>build (made just prior) had created a tcl86t.lib file instead.
>
>Doing some digging, I discovered the trialing "t" suffix represents a
>threaded build (from the "rules.vc" file).
yes, different version get a suffix (e.g. a debug version gets a 'd').

>Not being entirely sure how to properly rectify the situation, I found a
>copy of tcl86.lib on my system in the AS 8.6b1.1 lib folder. I ended up
>using that to build Tk against (by assigning TCLDIR to the AS lib folder).
This is potentially risky (and may lead to bugs which are _extremely_
hard to identify), because you have now mixed the results from 2
(potentially very) different source trees:
- The one used to build AS 8.6b1.1, and
- the one from the CVS HEAD.

>The final result is a working wish86.exe, but I wonder what I should
>have done?
a) Modify the makefile to ask for tcl86t.lib. The spot to affect this
modification may be somewhat hard to find, so maybe it is easier to
b) between building Tcl and building Tk insert a copy or rename
command
b1) append the command to the commands creating Tcl, or
b2) without modifying the makefile: create a batch file like
make Tcl
copy <path>/tcl86t.lib <path>/tcl86.lib
make Tk

In both cases the make process for Tk should now find the proper .lib
file.
HTH
Helmut Giese
From: Jeff Godfrey on
On 5/3/2010 6:02 PM, Helmut Giese wrote:

> a) Modify the makefile to ask for tcl86t.lib. The spot to affect this
> modification may be somewhat hard to find, so maybe it is easier to
> b) between building Tcl and building Tk insert a copy or rename
> command
> b1) append the command to the commands creating Tcl, or
> b2) without modifying the makefile: create a batch file like
> make Tcl
> copy<path>/tcl86t.lib<path>/tcl86.lib
> make Tk
>
> In both cases the make process for Tk should now find the proper .lib
> file.

Helmut,

I copied the file and was able to get a successful build - thanks.

I don't know how everything in the makefiles gets configured, but I
guess I would have expected the Tk makefile to use the same logic that
caused the Tcl makefile to create the "t" suffix'd file in the first
place. In which case, the proper lib file would have been found
automatically.

Is that not the way it should have worked?

Jeff

From: Helmut Giese on
Hi Jeff,
>I copied the file and was able to get a successful build - thanks.
good.

>I don't know how everything in the makefiles gets configured
Well, neither do I. There's this "horrible" :) makefile.in which is
the base the actual makefile is created from, but being a Windows guy
I don't really know much about this stuff.

>guess I would have expected the Tk makefile to use the same logic that
>caused the Tcl makefile to create the "t" suffix'd file in the first
>place. In which case, the proper lib file would have been found
>automatically.
>
>Is that not the way it should have worked?
Yeah, I guess it _should_ have - but, well, reality is different
sometimes. In cases like this I am usually happy if I find a
work-around which is as unintrusive as possible and easy to apply.

If I were you I would just let it stand as it is.
Best regards
Helmut Giese