Bug 2463644

Summary: tcl-mysqltcl does not load with either tclsh8.6 or tclsh9.0 in Fedora 43
Product: [Fedora] Fedora Reporter: John Ware <jsware4>
Component: tcl-mysqltclAssignee: Rene Ploetz <reneploetz>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 43CC: jtfas90, reneploetz
Target Milestone: ---Keywords: EasyFix, Regression, Upgrades
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: tcl-mysqltcl-3.052-29.fc44 tcl-mysqltcl-3.052-28.fc43 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2026-05-31 00:56:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description John Ware 2026-04-28 21:18:56 UTC
After upgrading Fedora 41 to 43 I found tcl-mysqltcl will not load. I removed all of the tcl packages and re-installed 1) tcl8 2) tcl-mysqltcl, which also installed tcl (tcl9.0)



Reproducible: Always

Steps to Reproduce:
1. save this script as test_mysql.tcl
# script that will demonstrate the problem
# enable either "package require" or "load"
package require mysqltcl
# load /usr/lib64/tcl9.0/mysqltcl-3.052/libmysqltcl3.052.so

set m [mysqlconnect -user root -db mysql -password FOOBAR]
foreach res [mysqlsel $m {select host from user} -flatlist] {
   puts $res
}

mysqlclose $m
# script ENDS 
2.execute:
tclsh9.0 test_mysql.tcl

tclsh8.6 test_mysql.tcl


Actual Results:
I. tclsh9.0
A. using "package require mysqltcl"
  cannot find symbol "mysqltcl_Init": /usr/lib64/tcl9.0/mysqltcl-3.052/libmysqltcl3.052.so: undefined symbol: _mysqltcl_Init
B. using "load /usr/lib64/tcl9.0/mysqltcl-3.052/libmysqltcl3.052.so"
  version conflict for package "tcl": have 9.0.2, need 8.1
II. tclsh8.6
A. using "package require mysqltcl"
  can't find package mysqltcl
B. using "load /usr/lib64/tcl9.0/mysqltcl-3.052/libmysqltcl3.052.so"
  this extension is compiled for Tcl 9.0


Expected Results:
(list of host names from MySQL user table), eg, something like this:
%
%
127.0.0.1
<actual local hostname>
localhost


Additional Information:
tcl-mysqltcl loaded and ran under Fedora 41 (and earlier releases, I have been using it since at least 2012). The problem appeared in February 2026 after upgrading from Fedora 41 to 43.

I was able to compile and link the shared library libmysqltcl3.052.so with minor changes to mysqltcl.c.

Comment 1 John Ware 2026-04-28 21:28:01 UTC
My changes to mysqltcl.c were
changes to function declarations, adding prototypes, replacing macros that are only defined in tcl8.h
I used cpp logic to use either Tcl_InitStubs OR Tcl_PkgRequire, not both.
I changed the TCL version in those calls, which I believe was one of the problems.

Comment 2 Fedora Update System 2026-05-22 20:17:01 UTC
FEDORA-2026-8f25297371 (tcl-mysqltcl-3.052-28.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-8f25297371

Comment 3 Fedora Update System 2026-05-22 20:17:47 UTC
FEDORA-2026-7af3438c4f (tcl-mysqltcl-3.052-29.fc44) has been submitted as an update to Fedora 44.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-7af3438c4f

Comment 4 Rene Ploetz 2026-05-22 20:24:24 UTC
Thanks for notifying me and sorry for the long wait for this fix. 
I had created a patch to support Tcl 9 for F42, but it seems that something broke it?!

Nevertheless, I have updated the patch - and you were right that the Tcl version should have been increased.
In case you are interested, the patch is here: https://src.fedoraproject.org/rpms/tcl-mysqltcl/blob/rawhide/f/0001-use-tcl9-datastructures.patch

Comment 5 Fedora Update System 2026-05-23 16:31:29 UTC
FEDORA-2026-8f25297371 has been pushed to the Fedora 43 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-8f25297371`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-8f25297371

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 6 Fedora Update System 2026-05-23 16:47:29 UTC
FEDORA-2026-7af3438c4f has been pushed to the Fedora 44 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-7af3438c4f`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-7af3438c4f

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Fedora Update System 2026-05-31 00:56:50 UTC
FEDORA-2026-7af3438c4f (tcl-mysqltcl-3.052-29.fc44) has been pushed to the Fedora 44 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 8 Fedora Update System 2026-05-31 01:14:51 UTC
FEDORA-2026-8f25297371 (tcl-mysqltcl-3.052-28.fc43) has been pushed to the Fedora 43 stable repository.
If problem still persists, please make note of it in this bug report.