[PyKDE] Error compiling PyQt 3.13

gerard.vermeulen at grenoble.cnrs.fr gerard.vermeulen at grenoble.cnrs.fr
Thu Oct 14 22:07:04 BST 2004


On Thu, 14 Oct 2004 22:46:01 +0200, Maurizio Colucci wrote
> gerard.vermeulen at grenoble.cnrs.fr wrote:
> 
> >On Thu, 14 Oct 2004 20:39:46 +0200, Maurizio Colucci wrote
> >  
> >
> >>Hello,
> >>
> >>I am trying to install PyQt (and PyKDE, hopefully) on mandrake 10.1 
> >>community (since sadly there are no RPM packages available).
> >>
> >>I have installed the latest versions of qscintilla and sip by hand, 
> >>following the READMEs to the letter.
> >>
> >>But PyQt won't compile. I have tried three different compilers (gcc 
> >>3.3.4, gcc 3.4.1, gcc 4.0.0), and they all give a similar error:
> >>
> >>[root at dhcppc0 PyQt-x11-gpl-3.13]# python configure.py
> >>This is the GPL version of PyQt 3.13 (licensed under the GNU General 
> >>Public License) for Python 2.3.4 on linux2.
> >>
> >>Type 'L' to view the license.
> >>Type 'yes' to accept the terms of the license.
> >>Type 'no' to decline the terms of the license.
> >>
> >>Do you accept the terms of the license? yes
> >>SIP 4.1.1 is being used.
> >>QScintilla 1.4 is being used.
> >>Checking to see if the qtcanvas module should be built...
> >>Checking to see if the qtnetwork module should be built...
> >>Checking to see if the qttable module should be built...
> >>Checking to see if the qtxml module should be built...
> >>Checking to see if the qtgl module should be built...
> >>Checking to see if the qtui module should be built...
> >>Checking to see if the qtsql module should be built...
> >>Checking to see if the qtext module should be built...
> >>Checking to see if the QAssistantClient class is available...
> >>Using existing features file.

Remove the existing features file before doing
python configure.py (it does not get overwritten)

> >>These PyQt modules will be built: qt qtcanvas qtnetwork qttable 
> >>qtxml qtui qtsql qtext. Support for these Qt classes has been 
> >>disabled: . The PyQt modules will be installed in 
> >>/usr/lib/python2.3/site-packages. The PyQt .sip files will be 
> >>installed in /usr/share/sip. pyuic will be installed in /usr/bin. 
> >>pylupdate will be installed in /usr/bin. Generating the C++ source 
> >>for the qt module... Creating the Makefile for the qt module... 
> >>Generating the C++ source for the qtext module... Creating the 
> >>Makefile for the qtext module... Generating the C++ source for the 
> >>qtsql module... Creating the Makefile for the qtsql module... 
> >>Generating the C++ source for the qtui module... Creating the 
> >>Makefile for the qtui module... Generating the C++ source for the 
> >>qtcanvas module... Creating the Makefile for the qtcanvas module... 
> >>Generating the C++ source for the qtnetwork module... Creating the 
> >>Makefile for the qtnetwork module... Generating the C++ source for 
> >>the qttable module... Creating the Makefile for the qttable 
> >>module... Generating the C++ source for the qtxml module... Creating 
> >>the Makefile for the qtxml module... Creating pyuic Makefile... 
> >>Creating pylupdate Makefile... Creating top level Makefile... 
> >>Creating pyqtconfig.py... [root at dhcppc0 PyQt-x11-gpl-3.13]# make 
> >>make[1]: Entering directory `/dat/pub/src/not-mau/PyQt-x11-gpl-3.13/qt'
> >>g++ -c -pipe -fno-exceptions -fPIC -O2 -fomit-frame-pointer -pipe 
> >>-march=i586 -mtune=pentiumpro -Wall -W -D_REENTRANT -DQT_NO_DEBUG 
> >>-DQT_THREAD_SUPPORT -I. -I/usr/include/python2.3 
> >>-I/usr/lib/qt3//include -I/usr/X11R6/include -o sipqtcmodule.o
sipqtcmodule.cpp
> >>In file included from sipqtQSGIStyle.h:33,
> >>                 from sipqtcmodule.cpp:91:
> >>sipqtQMotifStyle.h:66: error: syntax error before `{' token
> >>    
> >>
> >
> >Strange. It looks like you should README.Linux in the PyQt sources.
> >It is strange, because it should not be needed with newer versions
> >of PyQt (not needed for PyQt-3.13 on Mandrake-10.0)
> >
> >I solved such problems for PyQt-3.8 on Mandrake by doing
> >
> ># Instead of README.Linux
> >cp /usr/lib/qt3/include/qconfig.h qt
> >chmod 644 qt/qconfig.h
> >cat >> qt/qconfig.h << EOF
> >#define QT_NO_STYLE_CDE
> >#define QT_NO_STYLE_INTERLACE
> >#define QT_NO_STYLE_MOTIF
> >#define QT_NO_STYLE_MOTIFPLUS
> >#define QT_NO_STYLE_PLATINUM
> >#define QT_NO_STYLE_SGI
> >EOF
> >
> >before running make.
> >
> >Gerard
> >
> >
> >_______________________________________________
> >PyKDE mailing list    PyKDE at mats.imk.fraunhofer.de
> >http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
> >
> >  
> >
> Thank you Gerard. Unfortunately, that doesn't solve. First I said 
> what the README.Linux says. Then:
> 
>  echo $QTDIR
> /usr/lib/qt3/
> [root at dhcppc0 PyQt-x11-gpl-3.13]# cp /usr/lib/qt3/include/qconfig.h 
> qt [root at dhcppc0 PyQt-x11-gpl-3.13]# chmod 644 qt/qconfig.h 
> [root at dhcppc0 PyQt-x11-gpl-3.13]# cat >> qt/qconfig.h << EOF > 
> #define QT_NO_STYLE_CDE > #define QT_NO_STYLE_INTERLACE > #define
QT_NO_STYLE_MOTIF
>  > #define QT_NO_STYLE_MOTIFPLUS
>  > #define QT_NO_STYLE_PLATINUM
>  > #define QT_NO_STYLE_SGI
>  > EOF
> [root at dhcppc0 PyQt-x11-gpl-3.13]# make
> make[1]: Entering directory `/dat/pub/src/not-mau/PyQt-x11-gpl-3.13/qt'
> g++ -c -pipe -fno-exceptions -fPIC -O2 -fomit-frame-pointer -pipe 
> -march=i586 -mtune=pentiumpro -Wall -W -D_REENTRANT -DQT_NO_DEBUG 
> -DQT_THREAD_SUPPORT -I. -I/usr/include/python2.3 
> -I/usr/lib/qt3//include -I/usr/X11R6/include -o sipqtcmodule.o sipqtcmodule.cpp
> In file included from sipqtQSGIStyle.h:33,
>                  from sipqtcmodule.cpp:91:
> sipqtQMotifStyle.h:66: error: expected class-name before '{' token
> In file included from sipqtcmodule.cpp:91:
> sipqtQSGIStyle.h:66: error: expected class-name before '{' token
> In file included from sipqtcmodule.cpp:110:
> sipqtQWindowsStyle.h:66: error: expected class-name before '{' token
> In file included from sipqtcmodule.cpp:111:
> sipqtQPlatinumStyle.h:66: error: expected class-name before '{' token
> In file included from sipqtcmodule.cpp:128:
> sipqtQMotifPlusStyle.h:66: error: expected class-name before '{' 
> token In file included from sipqtcmodule.cpp:251: 
> sipqtQCDEStyle.h:66: error: expected class-name before '{' token 
> make[1]: *** [sipqtcmodule.o] Error 1 make[1]: Leaving directory 
> `/dat/pub/src/not-mau/PyQt-x11-gpl-3.13/qt' make: *** [all] Error 2
> 
Show at least line 66 of one of those *Style.h files.

Pretty sure that we are close to a solution.
My features file on Mandrake-10.0 reads:

-x Qt_STYLE_WINDOWSXP
-x Qt_STYLE_CDE
-x Qt_STYLE_INTERLACE
-x Qt_STYLE_MOTIF
-x Qt_STYLE_MOTIFPLUS
-x Qt_STYLE_PLATINUM
-x Qt_STYLE_SGI
-x Qt_STYLE_CDE
-x Qt_STYLE_INTERLACE
-x Qt_STYLE_MOTIF
-x Qt_STYLE_MOTIFPLUS
-x Qt_STYLE_PLATINUM
-x Qt_STYLE_SGI
-x Qt_STYLE_WINDOWSXP

You should probably have the same.

Undo your changes in /usr/lib/qt3/include/qconfig.h, remove
your PyQt-3.13, untar again, run python configure.py, check
the features file.
Anyhow, I have no sipqtQMotifStyle.h & friends in my qt directory.
Maybe you messed it up the first time (an empty features file would
explain your mess) and got stuck in the mess.

Gerard




More information about the PyQt mailing list