[PyKDE] qtgl segfault problem (PyQt-3.0)
Robert Cimrman
cimrman3 at ntc.zcu.cz
Tue Feb 19 15:13:15 GMT 2002
Hello,
I have a similar problem as described below in the post by Tad Thurston,
however I use Redhat 7.2. I have tried to compile PyQt-3.0 plus sip-3.0
for both python1.5 and python2.1 with the same result - a segfault
whenever something form qtgl module gets called. I have included the
offending code and gdb backtrace, see below. The code dumps core on 'if
not QGLFormat.hasOpenGL():' line (-> only '1' is displayed). If this
part is commented out, it "cores" at
'QGLWidget.__init__(self,parent,name)' line (hence printing 1, 2, 3).
Can anyone tell me what to do to make it work?
Thanks for reading this (and potentialy helping me :')),
Robert Cimrman
(Another newbie wanting to develop cool 3D graphic apps in python)
Tad Thurston wrote:
> > Hi all,
> > I am rather a newbie at Python, but I would like to start focusing my
> development there using the PyQt module. I am using debian, but the deb
> package did not install a qtgl library, so I compiled the sip 2.5 and
> PyQt sources myself. Everything went ok, except that I had to hand-edit
> the makefiles to include -lqt-gl (that's the debian name for the OpenGL
> Qt extension) along with -lqt. All the demos run fine, but when I
> include
> > from qtgl import *
> > then I get a segfault (like in the gears examples). I am new to
python,
> so I don't know how to go about finding out where the problem is. Any
> help would be appreciated. I am using Linux with the latest 1.541
> NVidia drivers. All my other OpenGL apps run fine.
> > Please cc me on replies, since I haven't received the notification
that I'm
> subscribed to the list. Thanks in advance for any help.
-----------------------
gear.py:
#!/usr/bin/env python
import sys
from qt import *
from qtgl import *
class GearWidget(QGLWidget):
def __init__(self,parent=None,name=None):
print "3"
QGLWidget.__init__(self,parent,name)
print "4"
a = QApplication(sys.argv)
print "1"
if not QGLFormat.hasOpenGL():
raise 'No Qt OpenGL support.'
print "2"
w = GearWidget()
w.setGeometry(100,100,200,120)
a.setMainWidget(w)
w.show()
a.exec_loop()
------------
Core was generated by `python2.1 ./gear.py'.
P(gdb) bt
#0 0x00000000 in ?? ()
#1 0x409cbd86 in QGLFormat::hasOpenGL () from
/usr/lib/qt-2.3.1/lib/libqt.so.2
#2 0x40d1c241 in sipDo_QGLFormat_hasOpenGL ()
from /usr/lib/python2.1/site-packages/libqtglcmodule.so
#3 0x080593ed in PyEval_CallObjectWithKeywords ()
#4 0x08057c75 in PyEval_EvalCode ()
#5 0x080550d5 in PyEval_EvalCode ()
#6 0x0806e031 in PyRun_FileExFlags ()
#7 0x0806d34f in PyRun_SimpleFileExFlags ()
#8 0x08051f30 in Py_Main ()
#9 0x4008d306 in __libc_start_main (main=0x80519d0 <main>, argc=2,
ubp_av=0xbffff764, init=0x8050e38 <_init>, fini=0x80a48f0 <_fini>,
rtld_fini=0x4000d2cc <_dl_fini>, stack_end=0xbffff75c)
at ../sysdeps/generic/libc-start.c:129
More information about the PyQt
mailing list