[PyQt] configuring pykde4, error

Darren Dale darren.dale at cornell.edu
Wed May 14 21:54:00 BST 2008


On Wednesday 14 May 2008 04:14:43 pm Jim Bublitz wrote:
> On Wednesday 14 May 2008 12:09, Darren Dale wrote:
> > On Wednesday 14 May 2008 01:58:37 pm Jim Bublitz wrote:
> > > On Wednesday 14 May 2008 10:27, Darren Dale wrote:
> > However, now when I run make I get an error that I am unable to diagnose
> > on my own again:
> >
> > g++ -c -Wno-deprecated-declarations -pipe -fPIC -O2 -march=k8 -mtune=k8
> > -pipe -fomit-frame-pointer -Wall -W -D_REENTRANT -DQT_NO_DEBUG
> > -DQT_CORE_LIB -DQT_GUI_LIB -I. -I../extra/kde403 -I/usr/kde/4.0/include
> > -I/usr/kde/4.0/include/QtCore -I/usr/kde/4.0/include/QtGui
> > -I/usr/kde/4.0/include/QtNetwork -I/usr/kde/4.0/include/sonnet
> > -I/usr/include/python2.5 -I/usr/share/qt4/mkspecs/default
> > -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4
> > -I/usr/X11R6/include -o sipkdecoreKCharMacroExpander.o
> > sipkdecoreKCharMacroExpander.cpp
> > /usr/kde/4.0/include/kmacroexpander.h: In member function
> > 'KMacroExpanderBase& KMacroExpanderBase::operator=(const
> > KMacroExpanderBase&)':
> > /usr/kde/4.0/include/kmacroexpander.h:39: error: non-static const
> > member 'KMacroExpanderBasePrivate* const KMacroExpanderBase::d', can't
> > use default assignment operator
> > /usr/kde/4.0/include/kmacroexpander.h: In member function
> > 'KCharMacroExpander& KCharMacroExpander::operator=(const
> > KCharMacroExpander&)':
> > /usr/kde/4.0/include/kmacroexpander.h:224: note: synthesized
> > method 'KMacroExpanderBase& KMacroExpanderBase::operator=(const
> > KMacroExpanderBase&)' first required here
> > sipkdecoreKCharMacroExpander.cpp: In function 'void
> > assign_KCharMacroExpander(void*, const void*)':
> > sipkdecoreKCharMacroExpander.cpp:279: note: synthesized
> > method 'KCharMacroExpander& KCharMacroExpander::operator=(const
> > KCharMacroExpander&)' first required here
> > make[1]: *** [sipkdecoreKCharMacroExpander.o] Error 1
> > make[1]: Leaving directory `/home/share/packages/PyKDE4-4.0.2-1/kdecore'
> > make: *** [all] Error 2
> >
> > I'm running 64-bit gentoo linux, gcc-4.2.3. Do you have any advice?
>
> That's an odd one - check sip/kdecore/kmacroexpander.sip for any instances
> of "operator =" and remove them - shouldn't be there, but they may get
> picked up in the KDE svn version by mistake (automatically generated code).
> If you find those, remove them.

There were no instances of operator in kmacroexpander.sip

> Otherwise, go into sip/kdecore/kdecoremod.sip.in and comment out (//) the
> line
>
> %Include kmacroexpander.sip

That helped, but I run into a similar error later in 
sipkdecoreKMimeTypeTrader:

g++ -c -Wno-deprecated-declarations -pipe -fPIC -O2 -march=k8 -mtune=k8 -pipe -fomit-frame-pointer -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -I. -I../extra/kde403 -I/usr/kde/4.0/include -I/usr/kde/4.0/include/QtCore -I/usr/kde/4.0/include/QtGui -I/usr/kde/4.0/include/QtNetwork -I/usr/kde/4.0/include/sonnet -I/usr/include/python2.5 -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/usr/X11R6/include -o 
sipkdecoreKMimeTypeTrader.o sipkdecoreKMimeTypeTrader.cpp
/usr/kde/4.0/include/kmimetypetrader.h: In member function 'KMimeTypeTrader& 
KMimeTypeTrader::operator=(const KMimeTypeTrader&)':
/usr/kde/4.0/include/kmimetypetrader.h:43: error: non-static const 
member 'KMimeTypeTrader::Private* const KMimeTypeTrader::d', can't use 
default assignment operator
sipkdecoreKMimeTypeTrader.cpp: In function 'void assign_KMimeTypeTrader(void*, 
const void*)':
sipkdecoreKMimeTypeTrader.cpp:281: note: synthesized method 'KMimeTypeTrader& 
KMimeTypeTrader::operator=(const KMimeTypeTrader&)' first required here
make[1]: *** [sipkdecoreKMimeTypeTrader.o] Error 1
make[1]: Leaving directory `/home/share/packages/PyKDE4-4.0.2-1/kdecore'
make: *** [all] Error 2

kmimetypetrader.sip didnt have any instances of operator either. I tried 
commenting that entry out of kdecoremod.sip.in as well. That got me even 
further along:

g++ -c -Wno-deprecated-declarations -pipe -fPIC -O2 -march=k8 -mtune=k8 -pipe -fomit-frame-pointer -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -I. -I../extra/kde403 -I/usr/kde/4.0/include -I/usr/kde/4.0/include/QtCore -I/usr/kde/4.0/include/QtGui -I/usr/kde/4.0/include/QtNetwork -I/usr/kde/4.0/include/sonnet -I/usr/include/python2.5 -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/usr/X11R6/include -o 
sipkdecoreKSocketFactory.o sipkdecoreKSocketFactory.cpp
/usr/share/sip/QtNetwork/qtcpsocket.sip:42:24: error: qtcpsocket.h: No such 
file or directory
/usr/share/sip/QtNetwork/qtcpserver.sip:42:24: error: qtcpserver.h: No such 
file or directory
/usr/share/sip/QtNetwork/qhostaddress.sip:46:26: error: qhostaddress.h: No 
such file or directory
/usr/share/sip/QtNetwork/qudpsocket.sip:46:24: error: qudpsocket.h: No such 
file or directory
/usr/share/sip/QtNetwork/qnetworkproxy.sip:42:27: error: qnetworkproxy.h: No 
such file or directory
make[1]: *** [sipkdecoreKSocketFactory.o] Error 1
make[1]: Leaving directory `/home/share/packages/PyKDE4-4.0.2-1/kdecore'
make: *** [all] Error 2

I searched for qtcpsocket.h and came up with:
/usr/include/qt4/Qt/qtcpsocket.h
/usr/include/qt4/QtNetwork/qtcpsocket.h

gentoo is splitting qt-4.4 into seperately installable modules. I don't know 
if that is surprising to anyone or not, is this a nonstandard location for qt 
headers? I didn't see an option in configure.py to direct make to the qt 
headers. Have I overlooked anything?

Thanks Jim,
Darren


More information about the PyQt mailing list