[PyKDE] Post Build Runtime problems libqtcmodule.so: undefined symbol:static_QUType_ptr

Liam Herron liam_herron at hotmail.com
Fri May 3 05:44:01 BST 2002

So I went back and built this thing with the 2.96 compiler.
When I try to run this thing in python I get:

[GCC 2.96 20000731 (Red Hat Linux 7.1 2.96-98)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>import qt
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/usr/local/lib/python2.2/site-packages/qt.py", line 47, in ?
    import libqtc
ImportError: /usr/local/lib/python2.2/site-packages/libqtcmodule.so: 
undefined symbol: static_QUType_ptr

So I then check the library for that symbol:
nm /usr/local/lib/python2.2/site-packages/libqtcmodule.so |
grep static_QUType_ptr
         U static_QUType_ptr

so it is undefined in that library.

I start hunting for how this library is built and what files need it and I
find that it is really only:

that needs it.  I then look at the headers this brings in:

[root at linux2 qt]# grep include sipqtProxyqt.moc
#include "moc_sipqtProxyqt.h"
#include <qmetaobject.h>
#include <qapplication.h>
#include <private/qucomextra_p.h>
#error "cannot be used with the include files from this version of Qt."

Ans then go one by one into the .h files recursively and find NO
include for "qt.h"  which would of included <private/qucom_p.h> which
has the definition:
# grep static_QUType_ptr *
qucom_p.h:extern Q_EXPORT QUType_ptr static_QUType_ptr;

So how come this is the case?  I don't think an upgrade in the comiler
would have done me any good.

Anyone have any thoughts on this?


>From: Phil Thompson <phil at river-bank.demon.co.uk>
>To: Liam Herron <liam_herron at hotmail.com>
>CC: pykde at mats.gmd.de
>Subject: Re: [PyKDE] Post Build Runtime problems libqtcmodule.so: undefined 
>Date: Thu, 02 May 2002 11:06:42 +0100
>Liam Herron wrote:
> >
> > I have even upgraded to version 3.0.4 of gcc but I now get the following
> > error linking error:
>I've never tried gcc 3.x myself. Did you re-build everything (including
>Qt) when you changed compiler?
> > g++ -fno-exceptions -O2 -o pyuic main.o uic.o form.o object.o 
> > embed.o widgetdatabase.o domtool.o parser.o
> > -L/usr/local/lib/python2.2/site-packages
> > -L/home/herronli/qt-x11-free-3.0.3/lib -lqt -L/usr/X11R6/lib -lSM -lICE
> > -lX11 -lz
> > main.o: In function `main':
> > main.o(.text+0x10): undefined reference to `QString::shared_null'
> > main.o(.text+0x73): undefined reference to `QString::shared_null'
> > main.o(.text+0xeb): undefined reference to 
> > char**, bool)'
> > main.o(.text+0xf0): undefined reference to `QString::shared_null'
> > main.o(.text+0x148): undefined reference to `QCString::QCString(char
> > const*)'
> > main.o(.text+0x162): undefined reference to 
> > main.o(.text+0x1a0): undefined reference to `QString::QString(char 
> >
> > etc...
>There must be something wrong with your Qt setup. Can you compile and
>run the Qt example programs?
> > Any quick ideas on this?  Do I have to put somethings in the 
> > or something?
>This is a build problem - LD_LIBRARY_PATH only comes into play when you
>are running programs.

Join the world’s largest e-mail service with MSN Hotmail. 

More information about the PyQt mailing list