Issue 704641: _tkinter.c won't build w/o threads? (original) (raw)

Created on 2003-03-16 20:57 by corvus, last changed 2022-04-10 16:07 by admin. This issue is now closed.

Messages (10)
msg15139 - (view) Author: John Speno (corvus) Date: 2003-03-16 20:57
I'm out of my area of expertice here trying to build python on Windows using cygwin and trying to use Tcl/Tk 8.4.2, but... Anyway, it looks like I can't compile _tkinter.c unless I've configured python to use threads and I didn't because the main python README says not to with cygwin. For example, tcl_lock is used in many places in _tkinter.c but it is only defined when WITH_THREAD is defined. And there's no Sleep() function when WITH_THREADS is off, and that's used in WaitForMainLoop(). And in Tkapp_New() there's a call to PyThread_free_lock() that isn't inside an #ifdef WITH_THREAD block.
msg15140 - (view) Author: Neal Norwitz (nnorwitz) * (Python committer) Date: 2003-03-19 00:44
Logged In: YES user_id=33168 Jason, can you help with this?
msg15141 - (view) Author: Jason Tishler (jlt63) * (Python triager) Date: 2003-03-19 03:09
Logged In: YES user_id=86216 nnorwitz> Jason, can you help with this? Yes. The short answer is I have been meaning to update the official Python README. I guess that I can't procrastinate anymore... corvus> I'm out of my area of expertice here trying corvus> to build python on Windows using cygwin corvus> and trying to use Tcl/Tk 8.4.2, but... Do you really need to build CVS? Or, will the pre-built Cygwin Python 2.2.2 suffice? corvus> Anyway, it looks like I can't compile _tkinter.c corvus> unless I've configured python to use threads corvus> and I didn't because the main python README corvus> says not to with cygwin. Well, that's simple the "main python README" is wrong. See above. :,) If _tkinter requires threads under other Unixes, then I think that updating the official Python README is sufficient. Do others agree?
msg15142 - (view) Author: John Speno (corvus) Date: 2003-03-19 03:29
Logged In: YES user_id=2138 jlt63> Do you really need to build CVS? Or, will the pre-built jlt63> Cygwin Python 2.2.2 suffice? At the time, I needed 2.3a2. However, I was able to use a pre-built version for Windows and replace the included Tcl/Tk with 8.4.2. So, I'm good for now. Is it really the case that you need to build Python with threads in order to build Tkinter? Why bother with all those #ifdef WITH_THREAD in _tkinter.c if building w/o threads isn't an option? Once I added them in, everything compiled and using Tkinter didn't give me any errors. It didn't give me any widgets on screen either, but I don't think that was related. :-) Take care.
msg15143 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2003-03-21 18:16
Logged In: YES user_id=21627 Building _tkinter without threads should be supported. Would anybody want to write a patch to add the missing WITH_THREAD tests?
msg15144 - (view) Author: Jason Tishler (jlt63) * (Python triager) Date: 2003-03-26 21:30
Logged In: YES user_id=86216 loewis> Building _tkinter without threads should be supported. Does the above imply that this is a generic Unix as oppose to Cygwin specific problem?
msg15145 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2003-03-26 22:59
Logged In: YES user_id=21627 This is my suspicion. I haven't tried building Python on a Unix system without threads, but I suspect it fails as well.
msg15146 - (view) Author: John Speno (corvus) Date: 2003-03-27 02:06
Logged In: YES user_id=2138 It fails on MacOS X when made w/o threads. That's unix enough.
msg15147 - (view) Author: Jason Tishler (jlt63) * (Python triager) Date: 2003-03-28 17:52
Logged In: YES user_id=86216 Given that this is most likely a generic Unix issue, I prefer that someone better qualified to resolve this problem be assigned.
msg15148 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2003-03-30 09:00
Logged In: YES user_id=21627 This is now fixed in _tkinter.c 1.153.
History
Date User Action Args
2022-04-10 16:07:40 admin set github: 38167
2003-03-16 20:57:12 corvus create