| Ticket UUID: | 006bef5d75f6fd6b12cdbb774cfa1faef94c7835 | ||
| Title: | Tcl cannot run from an arbitrary build directory with --disable-zipfs | ||
| Type: | Bug | Created on: | 2026-05-20 13:45:32 |
| Submitter: | apnadkarni | Assigned to: | nobody |
| Subsystem: | 53. Configuration and Build Tools | Severity: | Important |
| Priority: | 5 Medium | Last modified: | 2026-05-21 10:08:15 |
| Status: | Closed | Closed by: | apnadkarni |
| Resolution: | Fixed | Closed on: | 2026-05-21 10:08:15 |
| Version: | 9.0 | ||
| Description: | ||||
|
(Below is with reference to the autoconf build system. The nmake build also has the same issue with OPTS=noembed.) If Tcl is built at an arbitrary location, say in
an attempt to run it as follows fails.
Note I strongly suspect this is not new to 9.0 but now has assumed more importance for two reasons.
I propose to fix this by introducing additional keys to the The keys returned by tcl::pkgconfig are not documented so I don't think adding new key(s) needs a TIP but happy to write one if folks are happy to vote! Any comments or alternative solutions? | ||||
| User Comments: | ||||
apnadkarni added on 2026-05-21 01:17:46:
Proposed fix now in the [bug-006bef5d] branch. apnadkarni added on 2026-05-21 08:25:05:
Here is final fix: When running from the build directory, and only when running from the build directory tclsh will look in the source library directory for init.tcl. When running after installation, it should not and will not look there. The original use case arises from using the buildtree (uninstalled) tclsh when building extensions (including Tk). The above solves this without affecting installed tclsh'es which should not be looking into build trees. The change to pkgconfig is not necessary and not implemented. Above is for 9.1. No plans to back port to 9.0 which uses a very different initialization implementation (pre-TIP 732). | ||||
