| Ticket Hash: | 185c99634a6156df4d9602aaf09b1c2c165cde77 | ||
| Title: | MS-VS make: library name misses t in non-installed test for tdbc119t.dll | ||
| Status: | Closed | Type: | Build_Problem |
| Severity: | Minor | Priority: | Immediate |
| Subsystem: | Resolution: | Fixed | |
| Last Modified: |
2024-09-11 06:28:43 2.01 years ago |
Created: |
2024-09-10 16:44:20 2.01 years ago |
| Version Found In: | main | ||
| User Comments: | ||||
oehhar added on 2024-09-10 16:44:20:
Within the tcl8.6.15rc0 release tarball and using MS-VC6 compiler and 32 bit compile. The "make test" failes due to a missing "t" in the library name of tdbc When doing nmake -f Makefile.vc test without installation in TCL 8.6, the bundled package failes with the following log, as "tdbc119.dll" is searched without "t":
testing tdbcodbc against Jet
C:\test\tcl8.6.15rc0\tcl8.6.15\win\..\win\Release\tclsh86t.exe "C:/test/tcl8.6.15rc0/tcl8.6.15/pkgs/tdbcodbc1.1.9/win/../tests/all.tcl" -verbose bte -load "package ifneeded tdbc::odbc 1.1.9 {source {C:/test/tcl8.6.15rc0/tcl8.6.15/pkgs/tdbcodbc1.1.9/win/../library/tdbcodbc.tcl};load {C:/test/tcl8.6.15rc0/tcl8.6.15/pkgs/tdbcodbc1.1.9/win/Release/tdbcodbc119t.dll} [string totitle tdbcodbc]}; package ifneeded tdbc 1.1.9 {source {C:/test/tcl8.6.15rc0/tcl8.6.15/pkgs/tdbc1.1.9/win/Release/tdbc.tcl};load {C:/test/tcl8.6.15rc0/tcl8.6.15/pkgs/tdbc1.1.9/win/Release/tdbc119.dll} Tdbc}"
Tests running in interp: C:/test/tcl8.6.15rc0/tcl8.6.15/win/Release/tclsh86t.exe
Tests located in: C:/test/tcl8.6.15rc0/tcl8.6.15/pkgs/tdbcodbc1.1.9/tests
Tests running in: C:/test/tcl8.6.15rc0/tcl8.6.15/pkgs/tdbcodbc1.1.9/win
Temporary files stored in C:/test/tcl8.6.15rc0/tcl8.6.15/pkgs/tdbcodbc1.1.9/win
Test files run in separate interpreters
Running tests that match: *
Skipping test files that match: l.*.test
Only running test files that match: *.test
Tests began at Mon Sep 09 08:50:33 +0200 2024
tdbcodbc.test
Test file error: couldn't load library "C:/test/tcl8.6.15rc0/tcl8.6.15/pkgs/tdbc1.1.9/win/Release/tdbc119.dll": this library or a dependent library could not be found in library path
while executing
"load {C:/test/tcl8.6.15rc0/tcl8.6.15/pkgs/tdbc1.1.9/win/Release/tdbc119.dll} Tdbc"
("package ifneeded tdbc 1.1.9" script)
invoked from within
"package require tdbc"
(file "C:/test/tcl8.6.15rc0/tcl8.6.15/pkgs/tdbcodbc1.1.9/win/../library/tdbcodbc.tcl" line 13)
invoked from within
"source {C:/test/tcl8.6.15rc0/tcl8.6.15/pkgs/tdbcodbc1.1.9/win/../library/tdbcodbc.tcl}"
("package ifneeded tdbc::odbc 1.1.9" script)
invoked from within
"package require tdbc::odbc"
(file "C:/test/tcl8.6.15rc0/tcl8.6.15/pkgs/tdbcodbc1.1.9/tests/tdbcodbc.test" line 16)
The relevant line of the makefile is IMHO:
package ifneeded tdbc $(TDBC_DOTVERSION) \
{source {$(TDBC_BIN_DIR:\=/)/tdbc.tcl};load {$(TDBC_BIN_DIR:\=/)/$(TDBC_LIB_FILE)} Tdbc}"
The relevant reference "TDBC_LIB_FILE" is defined as: tdbc$(TDBC_VERSION).dlland should be tdbc$(TDBC_VERSION)$(SUFX).dll oehhar added on 2024-09-10 16:46:35:
Fixed by [41f854e866]. Closing. oehhar added on 2024-09-11 06:28:43:
Added in mysql: https://core.tcl-lang.org/tdbcmysql/info/a744c8c421d61699 and Postgresql: https://core.tcl-lang.org/tdbcpostgres/info/76bf4c7feb6f3221 | ||||
