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-mysqltcl | Assignee: | Rene Ploetz <reneploetz> |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 43 | CC: | 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: | |||
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. 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 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 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 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. 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. 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. 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. |
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.