Tue 17 Jun 2003 05:02:14 PM UTC, comment #7:
I suggest to close that bug.
old versions of pygtk are simply too old to run circle.
I mentioned that pygtk >= 1.99-14 is required in the README.
|
Tue 20 May 2003 07:22:07 AM UTC, comment #6:
ok, I tested it. now I get this:
voegtlin@dale circle]$ python2 circle
Can't check GTK version, continuing.
(circle:7373): Gtk-WARNING **: /usr/lib/gtk-2.0/2.0.0/engines/libredmond95.so: undefined
symbol: gtk_rc_style_get_type
Traceback (most recent call last):
File "/extra/voegtlin/thomas/circle/circle", line 175, in ?
run()
File "/extra/voegtlin/thomas/circle/circle", line 172, in run
circlelib.circle.Circle_application().run_gtk(proxy_mode, no_connect)
File "/extra/voegtlin/thomas/circle/circlelib/circle.py", line 239, in run_gtk
self.run_main(proxy_host,proxy_password,no_connect)
File "/extra/voegtlin/thomas/circle/circlelib/circle.py", line 310, in run_main
self.chat.start()
File "/extra/voegtlin/thomas/circle/circlelib/chat.py", line 691, in start
self.set_normal_prompt()
File "/extra/voegtlin/thomas/circle/circlelib/chat.py", line 905, in set_normal_prompt
self.set_prompt(str)
File "/extra/voegtlin/thomas/circle/circlelib/chatgtk.py", line 809, in set_prompt
field.show(str, tags)
File "/extra/voegtlin/thomas/circle/circlelib/chatgtk.py", line 122, in show
cursor_was_visible = self.chat.is_cursor_visible()
File "/extra/voegtlin/thomas/circle/circlelib/chatgtk.py", line 193, in is_cursor_visible
y, height = self.view.get_line_yrange(
AttributeError: 'gtk.TextView' object has no attribute 'get_line_yrange'
I guess there might be substantial differences between this older pygtk and the legal one...
|
Tue 20 May 2003 01:42:31 AM UTC, comment #5:
TextBuffer takes an optional argument, i guess it wasn't optional in earlier versions. Changed chatgtk to work around this, should fix that error at least.
Be nice to get everything working with older pygtks, but maybe not this release.
|
Mon 19 May 2003 07:02:24 AM UTC, comment #4:
I guess this solves the problem of non-threaded pygtk.
The crash I experience is probably due to a wrong version of pygtk. It is the version that comes with redhat8.
Here is what I get now:
python2 circle&
[1] 23343
[voegtlin@dale circle]$ Can't check GTK version, continuing.
(circle:23343): Gtk-WARNING **: /usr/lib/gtk-2.0/2.0.0/engines/libredmond95.so: undefined symbol: gtk_rc_style_get_type
[voegtlin@dale circle]$ Traceback (most recent call last):
File "/extra/voegtlin/thomas/circle/circle", line 175, in ?
run()
File "/extra/voegtlin/thomas/circle/circle", line 172, in run
circlelib.circle.Circle_application().run_gtk(proxy_mode, no_connect)
File "/extra/voegtlin/thomas/circle/circlelib/circle.py", line 239, in run_gtk
self.run_main(proxy_host,proxy_password,no_connect)
File "/extra/voegtlin/thomas/circle/circlelib/circle.py", line 276, in run_main self.chat = chatgtk.Chat_gtk(self)
File "/extra/voegtlin/thomas/circle/circlelib/chatgtk.py", line 531, in _init_
self.buffer = gtk.TextBuffer()
TypeError: GtkTextBuffer.__init__() takes exactly 1 argument (0 given)
maybe Nathan knows about that?
|
Sat 17 May 2003 12:45:22 AM UTC, comment #3:
Re versions: use gtk.gtk_version and gtk.pygtk_version -- probably just print a warning and soldier on. Any idea what's crashing circle in the older version?
Ok, added a try: except: around threads_init as you suggest. Can you confirm if this works with redhat?
|
Thu 15 May 2003 02:23:47 PM UTC, comment #2:
There are three "if" tests for win32 in utility.py,
on lines 152, 216, 237.
I added "and 0" to each of these tests, in order to test the nothread support. I tested on a Redhat 8.0, with pygtk2.
Result: It seems to work, at least it starts and it displays the window with the cat picture. but then it quickly dies, seemingly for another reason: the pygtk2 version in the rpm is not up to date (it is pygtk2-1.99.12-7, I guess it would need to be 1.99.14)
anyway, it seems that it would work that way.
I think it would be sufficient to add "and threaded_pygtk" (instead of "and 0") to each of these 3 tests, and to define threaded_pygtk by a "try: ... except"
Other topic, see above: is it possible to detect the version of pygtk2, in order to complain if it is not up to date?
|
Thu 15 May 2003 01:12:16 PM UTC, comment #1:
Paul,
following our discussion, here is what I obtain
when using non-threaded pygtk2:
[voegtlin@dale circle]$ python2 circle
Can't check GTK version, continuing.
(circle:3196): Gtk-WARNING **: /usr/lib/gtk-2.0/2.0.0/engines/libredmond95.so: undefined symbol: gtk_rc_style_get_type
Traceback (most recent call last):
File "/extra/voegtlin/thomas/circle/circle", line 175, in ?
run()
File "/extra/voegtlin/thomas/circle/circle", line 172, in run
circlelib.circle.Circle_application().run_gtk(proxy_mode, no_connect)
File "/extra/voegtlin/thomas/circle/circlelib/circle.py", line 241, in run_gtk
self.run_main(proxy_host,proxy_password,no_connect)
File "/extra/voegtlin/thomas/circle/circlelib/circle.py", line 253, in run_main
status_setter, progress_setter = self.become_message_window(_("Connecting to the Circle network..."))
File "/extra/voegtlin/thomas/circle/circlelib/circle.py", line 1025, in become_message_window
self.set_window_child(hbox, 0)
File "/extra/voegtlin/thomas/circle/circlelib/circle.py", line 972, in set_window_child
utility.threadnice_flush_events()
File "/extra/voegtlin/thomas/circle/circlelib/utility.py", line 168, in threadnice_flush_events
_ensure_gtk_ready()
File "/extra/voegtlin/thomas/circle/circlelib/utility.py", line 154, in _ensure_gtk_ready
gtk.threads_init()
RuntimeError: pygtk threading disabled at compile time
[voegtlin@dale circle]$
|
Mon 12 May 2003 12:18:46 PM UTC, original submission:
It is possible to compile pygtk without threads support, and it seems some Linux distributions do this (notably redhat9). Blah.
The windows pygtk also has no thread support, and code exists to handle this. This should be generalized to all cases where there is no thread support, perhaps by catching an exception when we attempt to enable threads.
Failing this, compiling pygtk with threads should be documented in the FAQ.
|