Subject: Python and threaded Tcl/Tk
To: None <tech-pkg@netbsd.org>
From: Matthias Drochner <M.Drochner@fz-juelich.de>
List: tech-pkg
Date: 06/09/2004 11:12:12
Looking why py-imagingtk fails in the bulk-build
I found that the reason is that Tcl/Tk in built with
threads enabled now and thus its shared libraries can't
be used by non-thread-aware programs anymore.
In most cases this doesn't lead to build errors but
the resulting programs don't run, which makes the
situation even worse.

What to do now? Possible options are:
1. Build Tcl/Tk non-threading. This is the default
   anyway, but this might change in future versions.
2. Build 2 non-conflicting versions of Tcl/Tk.
   (at least the shared libraries)
3. Make sure Tcl/Tk is only used by thread-aware
   programs. For Python, this means that Tkinter
   would be only available for the *-pth versions.
   ("grail" would die completely because there is
   no threaded Python-1.5.)

I'd prefer (1) for now because it looks least invasive;
the other options require more work than the freeze
allows.
Once Tcl/Tk is threaded by default we need another
solution. In the long term, (3) is probably the way
to go, but as long as NetBSD-1.6 is supported by pkgsrc
we shouldn't force people to use GNU pth where not
absolutely necessary.

Comments?

best regards
Matthias