Bug 2463644 - tcl-mysqltcl does not load with either tclsh8.6 or tclsh9.0 in Fedora 43
Summary: tcl-mysqltcl does not load with either tclsh8.6 or tclsh9.0 in Fedora 43
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: tcl-mysqltcl
Version: 43
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Rene Ploetz
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-04-28 21:18 UTC by John Ware
Modified: 2026-05-31 01:14 UTC (History)
2 users (show)

Fixed In Version: tcl-mysqltcl-3.052-29.fc44 tcl-mysqltcl-3.052-28.fc43
Clone Of:
Environment:
Last Closed: 2026-05-31 00:56:50 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

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.


Note You need to log in before you can comment on or make changes to this bug.