| Ticket UUID: | 1597242 | |||
| Title: | TCL_PATCHLEVEL not set in Makefile.vc | |||
| Type: | Bug | Version: | None | |
| Submitter: | mpc_janssen | Created on: | 2006-11-15 19:45:42 | |
| Subsystem: | 85. Win Build | Assigned To: | patthoyts | |
| Priority: | 5 Medium | Severity: | ||
| Status: | Closed | Last Modified: | 2007-11-01 18:20:10 | |
| Resolution: | Fixed | Closed By: | patthoyts | |
| Closed on: | 2007-11-01 11:20:10 | |||
| Description: |
When using Makefile.vc to build Tk, package require Tk fails in a tclsh. I have built Tcl 8.5a6 and Tk 8.5a6 thus:
Build Tcl
nmake -f Makefile.vc OPTS=threads INSTALLDIR=c:\tcl
nmake -f Makefile.vc OPTS=threads INSTALLDIR=c:\tcl install
build Tk
nmake -f Makefile.vc OPTS=threads INSTALLDIR=c:\tcl TCLDIR=..\..\tcl
nmake -f Makefile.vc OPTS=threads INSTALLDIR=c:\tcl TCLDIR=..\..\tcl install
tclsh85t
% package require Tk
can't find package Tk
%
After building like this the generated pkgIndex.tcl contains no patchlevel because of the undefined TCL_PATCHLEVEL in the Makefile.vc:
if {![package vsatisfies [package provide Tcl] 8.5]} { return }
if {[package vcompare [package provide Tcl] 8.5] != 0} { return }
package ifneeded Tk 8.5 [list load [file join $dir .. .. bin tk85t.dll] Tk]
Everything loads correctly if TCL_PATCHLEVEL is set to a6 when building Tk. This results in the following pkgIndex.tcl
if {![package vsatisfies [package provide Tcl] 8.5]} { return }
if {[package vcompare [package provide Tcl] 8.5a6] != 0} { return }
package ifneeded Tk 8.5a6 [list load [file join $dir .. .. bin tk85t.dll] Tk]
After which, Tk loads succesfully from tclsh:
> tclsh85t
% package require Tk
8.5a6
%
| |||
| User Comments: |
patthoyts added on 2007-11-01 18:20:10:
Logged In: YES user_id=202636 Originator: NO Yes - fixed for 8.5b2 dgp added on 2007-11-01 00:40:35: Logged In: YES user_id=80530 Originator: NO Did this recently get fixed? mistachkin added on 2007-01-22 17:10:57: Logged In: YES user_id=113501 Originator: NO I just hit this bug as well. Maybe we can modify nmakehlp to dynamically get this value? Failing that, we should just put back the constant value so that the build works. | |||