Tk Source Code

View Ticket
Login
2024-01-04
17:07 Closed ticket [1ca3c8d9]: nmake build with OPTS=static plus 5 other changes artifact: 431797fc user: jan.nijtmans
16:48
Fix [1ca3c8d9da]: nmake build with OPTS=static. Give testtest.exe a version-number check-in: 940996d8 user: jan.nijtmans tags: trunk, main
16:46
Fix [1ca3c8d9da]: nmake build with OPTS=static. Give tktest.exe a version-number check-in: a8ca8ba8 user: jan.nijtmans tags: core-8-branch
15:59
Fix [1ca3c8d9da]: nmake build with OPTS=static check-in: 1374b2d1 user: jan.nijtmans tags: core-8-6-branch
2024-01-03
21:06 Ticket [1ca3c8d9] nmake build with OPTS=static status still Pending with 3 other changes artifact: 8253a8b4 user: fvogel
21:01 Ticket [1ca3c8d9]: 3 changes artifact: 58797675 user: fvogel
20:58 Ticket [1ca3c8d9]: 3 changes artifact: a08bb68b user: fvogel
20:30 Ticket [1ca3c8d9]: 3 changes artifact: 8bf5481c user: fvogel
15:54 Ticket [1ca3c8d9]: 3 changes artifact: 484c2f61 user: jan.nijtmans
15:53 Ticket [1ca3c8d9]: 3 changes artifact: 06af60d4 user: jan.nijtmans
15:53 Pending ticket [1ca3c8d9]. artifact: 093ae5ac user: jan.nijtmans
15:39
Possible fix for [1ca3c8d9da]: nmake build with OPTS=static check-in: dc10eade user: jan.nijtmans tags: core-8-6-branch
15:30 Ticket [1ca3c8d9] nmake build with OPTS=status status still Open with 3 other changes artifact: ffb8bad8 user: fvogel
12:51 New ticket [1ca3c8d9]. artifact: 0fe7e3b8 user: jan.nijtmans
12:43
Don't do a nmake build with OPTS=static (yet). See [1ca3c8d9da] check-in: 96a46054 user: jan.nijtmans tags: core-8-6-branch

Ticket UUID: 1ca3c8d9da01afa6a17fb0a27bf568c336297a30
Title: nmake build with OPTS=static
Type: Bug Version: 8.6
Submitter: jan.nijtmans Created on: 2024-01-03 12:51:48
Subsystem: 85. Win Build Assigned To: jan.nijtmans
Priority: 5 Medium Severity: Important
Status: Closed Last Modified: 2024-01-04 17:07:31
Resolution: Fixed Closed By: jan.nijtmans
    Closed on: 2024-01-04 17:07:31
Description:

When building Tk with nmake using OPTS=static, the following problems are seen:

- With Tk 8.6, the build itself succeeds, but running bind.test times-out: https://github.com/tcltk/tk/actions/runs/7383322436/job/20086600807

- With Tk 8.7 (and probably 9.0 also), the build itself succeeds too, but the test-suite gives 83 test-failures related to cursors: https://github.com/tcltk/tk/actions/runs/7394649635/job/20116355623

e.g.:

==== busy-3.7 tk busy cget unix FAILED
==== Contents of test case:

tk busy cget .f -cursor

---- Test setup failed: bad cursor spec "hand1" ---- errorInfo(setup): bad cursor spec "hand1" (processing "-cursor" option) invoked from within "tk busy hold .f -cursor hand1" ("uplevel" body line 3) invoked from within "uplevel 1 $setup" ---- errorCode(setup): TK VALUE CURSOR ==== busy-3.7 FAILED

So it doesn't look like the nmake build with OPTS=static (TIP #477) is ready for production ....

User Comments: jan.nijtmans added on 2024-01-04 17:07:31:

Found the main problem, it's fixed [1374b2d11dd5dfab|here]

You need to update Tcl too in order to make the fix actually work, since rules.vc is copied from Tcl if it has a higher or equal version-number. So, "rules.vc" needs to be updated in both Tcl and Tk.

Since this is a long-standing problem (already - at least - from the start of the TIP #477 implementation, 5 years ago), I don't think it's important enough to delay Tcl/Tk 9.0b1 for it. But .... that's for Don Porter to decide.


fvogel added on 2024-01-03 21:06:28:

Even with [ff1a5283] I still get the FindResourceW panic.


fvogel added on 2024-01-03 21:01:19:
Sorry, please disregard my previous message. The panic is still here.

fvogel added on 2024-01-03 20:58:30:

Works now with [c2833a28].


fvogel added on 2024-01-03 20:30:19:

Not enough. When running the test suite:

	link -nologo -machine:AMD64  -ltcg -release -opt:ref -opt:icf,3 -subsystem:windows -out:"C:\Users\francois\Documents\Development\tcltk-fossil\tk\win\Release_AMD64_VC1938\tktest.exe" kernel32.lib advapi32.lib netapi32.lib gdi32.lib user32.lib userenv.lib "C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\Release_AMD64_VC1938\tclstub86.lib" "C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\Release_AMD64_VC1938\tcl86ts.lib"  -stack:2300000 C:\Users\francois\Documents\Development\tcltk-fossil\tk\win\Release_AMD64_VC1938\tk_ThreadedStatic\testMain.obj C:\Users\francois\Documents\Development\tcltk-fossil\tk\win\Release_AMD64_VC1938\tk_ThreadedStatic\tkSquare.obj C:\Users\francois\Documents\Development\tcltk-fossil\tk\win\Release_AMD64_VC1938\tk_ThreadedStatic\tkTest.obj C:\Users\francois\Documents\Development\tcltk-fossil\tk\win\Release_AMD64_VC1938\tk_ThreadedStatic\tkOldTest.obj C:\Users\francois\Documents\Development\tcltk-fossil\tk\win\Release_AMD64_VC1938\tk_ThreadedStatic\tkWinTest.obj C:\Users\francois\Documents\Development\tcltk-fossil\tk\win\Release_AMD64_VC1938\tk_ThreadedStatic\tktest.res C:\Users\francois\Documents\Development\tcltk-fossil\tk\win\Release_AMD64_VC1938\tkstub86.lib C:\Users\francois\Documents\Development\tcltk-fossil\tk\win\Release_AMD64_VC1938\tk86ts.lib
LINK : fatal error LNK1181: impossible d'ouvrir le fichier en entrée 'C:\Users\francois\Documents\Development\tcltk-fossil\tk\win\Release_AMD64_VC1938\tk_ThreadedStatic\tktest.res'
NMAKE : fatal error U1077: 'link -nologo -machine:AMD64  -ltcg -release -opt:ref -opt:icf,3 -subsystem:windows -out:"C:\Users\francois\Documents\Development\tcltk-fossil\tk\win\Release_AMD64_VC1938\tktest.exe" kernel32.lib advapi32.lib netapi32.lib gdi32.lib user32.lib userenv.lib "C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\Release_AMD64_VC1938\tclstub86.lib" "C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\Release_AMD64_VC1938\tcl86ts.lib"  -stack:2300000 C:\Users\francois\Documents\Development\tcltk-fossil\tk\win\Release_AMD64_VC1938\tk_ThreadedStatic\testMain.obj C:\Users\francois\Documents\Development\tcltk-fossil\tk\win\Release_AMD64_VC1938\tk_ThreadedStatic\tkSquare.obj C:\Users\francois\Documents\Development\tcltk-fossil\tk\win\Release_AMD64_VC1938\tk_ThreadedStatic\tkTest.obj C:\Users\francois\Documents\Development\tcltk-fossil\tk\win\Release_AMD64_VC1938\tk_ThreadedStatic\tkOldTest.obj C:\Users\francois\Documents\Development\tcltk-fossil\tk\win\Release_AMD64_VC1938\tk_ThreadedStatic\tkWinTest.obj C:\Users\francois\Documents\Development\tcltk-fossil\tk\win\Release_AMD64_VC1938\tk_ThreadedStatic\tktest.res C:\Users\francois\Documents\Development\tcltk-fossil\tk\win\Release_AMD64_VC1938\tkstub86.lib C:\Users\francois\Documents\Development\tcltk-fossil\tk\win\Release_AMD64_VC1938\tk86ts.lib'á: code retour '0x49d'
Stop.


jan.nijtmans added on 2024-01-03 15:54:55:

So, possible fix [dc10eade|here]


jan.nijtmans added on 2024-01-03 15:53:20:

So, possible fix [c10eadeeaadbf1a|here]


jan.nijtmans added on 2024-01-03 15:53:01:

So, possible fix [c10eadeeaadbf1a|here]


fvogel added on 2024-01-03 15:30:17:
The timeout with 8.6 avrually is a panic (FindResourceW).