Re: [PyQt] configuring pykde4, error
On Tuesday 20 May 2008 03:29:14 pm Jim Bublitz wrote: On Tuesday 20 May 2008 10:47, Darren Dale wrote: At that point, I get another can't use default assignment operator error: I'm not sure what's causing that error, which seems to be the basic problem (other than having an updated configure.py). I haven't downloaded the latest KDE yet, but will have to do that and see if I can reproduce the problem. If I comment out //%Include kencodingdetector.sip, configure.py fails: ... Generating the C++ source for the kdeui module... sip: KEncodingDetector::AutoDetectScript is undefined Error: Unable to create the C++ code. --- Is there something else I should try at this point? KCodecAction (sip/kdeui/kcodecaction.sip) depends on KEncodingDetector. You can either comment out the KEncodingDetector references in kcodecaction.sip or comment out that sip file in sip/kdeui/kdeuimod.sip.in. I did the latter. Then I needed to comment out additional lines in sip/kdecore/kdecoremod.sip.in: //%Include kcharsets.sip //%Include kcmdlineargs.sip //%Include klockfile.sip At that point, I got an error that I have not been able to work around: 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/kde404 -I/usr/kde/4.0/include -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/kde/4.0/include/sonnet -I/usr/include/python2.5 -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4 -I/usr/X11R6/include -o sipkdecoreKTimeZoneSource.o sipkdecoreKTimeZoneSource.cpp /usr/kde/4.0/include/ktimezone.h: In member function 'KTimeZoneSource KTimeZoneSource::operator=(const KTimeZoneSource)': /usr/kde/4.0/include/ktimezone.h:1224: error: non-static const member 'KTimeZoneSourcePrivate* const KTimeZoneSource::d', can't use default assignment operator sipkdecoreKTimeZoneSource.cpp: In function 'void assign_KTimeZoneSource(void*, const void*)': sipkdecoreKTimeZoneSource.cpp:167: note: synthesized method 'KTimeZoneSource KTimeZoneSource::operator=(const KTimeZoneSource)' first required here make[1]: *** [sipkdecoreKTimeZoneSource.o] Error 1 make[1]: Leaving directory `/home/share/packages/PyKDE4-4.0.2-1/kdecore' make: *** [all] Error 2 configure.py fails if I comment out //%Include ktimezone.sip. I tried to find a work around similar to the one you suggested for KEncodingDetector, but was not successful. I also tried to understand what is actually causing these can't use default assignment operator errors, but unfortunately I don't have enough experience yet with C/C++ to follow the discussions I found on google. Sorry. Darren ___ PyQt mailing listPyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt
Re: [PyQt] configuring pykde4, error
On Wednesday 21 May 2008 07:04, Darren Dale wrote: On Tuesday 20 May 2008 03:29:14 pm Jim Bublitz wrote: On Tuesday 20 May 2008 10:47, Darren Dale wrote: At that point, I get another can't use default assignment operator error: I'm not sure what's causing that error, which seems to be the basic problem (other than having an updated configure.py). I haven't downloaded the latest KDE yet, but will have to do that and see if I can reproduce the problem. If I comment out //%Include kencodingdetector.sip, configure.py fails: ... Generating the C++ source for the kdeui module... sip: KEncodingDetector::AutoDetectScript is undefined Error: Unable to create the C++ code. --- Is there something else I should try at this point? KCodecAction (sip/kdeui/kcodecaction.sip) depends on KEncodingDetector. You can either comment out the KEncodingDetector references in kcodecaction.sip or comment out that sip file in sip/kdeui/kdeuimod.sip.in. I did the latter. Then I needed to comment out additional lines in sip/kdecore/kdecoremod.sip.in: //%Include kcharsets.sip //%Include kcmdlineargs.sip //%Include klockfile.sip At that point, I got an error that I have not been able to work around: 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/kde404 -I/usr/kde/4.0/include -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/kde/4.0/include/sonnet -I/usr/include/python2.5 -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4 -I/usr/X11R6/include -o sipkdecoreKTimeZoneSource.o sipkdecoreKTimeZoneSource.cpp /usr/kde/4.0/include/ktimezone.h: In member function 'KTimeZoneSource KTimeZoneSource::operator=(const KTimeZoneSource)': /usr/kde/4.0/include/ktimezone.h:1224: error: non-static const member 'KTimeZoneSourcePrivate* const KTimeZoneSource::d', can't use default assignment operator sipkdecoreKTimeZoneSource.cpp: In function 'void assign_KTimeZoneSource(void*, const void*)': sipkdecoreKTimeZoneSource.cpp:167: note: synthesized method 'KTimeZoneSource KTimeZoneSource::operator=(const KTimeZoneSource)' first required here make[1]: *** [sipkdecoreKTimeZoneSource.o] Error 1 make[1]: Leaving directory `/home/share/packages/PyKDE4-4.0.2-1/kdecore' make: *** [all] Error 2 configure.py fails if I comment out //%Include ktimezone.sip. I tried to find a work around similar to the one you suggested for KEncodingDetector, but was not successful. I also tried to understand what is actually causing these can't use default assignment operator errors, but unfortunately I don't have enough experience yet with C/C++ to follow the discussions I found on google. Sorry. It's either a change in gcc or a change in the KDE source (note that the errors are coming from the KDE h file, not from PyKDE). You're getting into files now that are useful (most of the previous stuff wasn't esp needed for most people), and just playing whack-a-mole. It's likely to continue until there isn't anything of PyKDE left to compile. I'll have to upgrade/download and see if I can set up the same environment and reproduce the errors you're getting (and then fix them, of course). It's going to take a while to accomplish all of that, but I will get back to you. Jim ___ PyQt mailing listPyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt
Re: [PyQt] configuring pykde4, error
Hi Jim, On Thu, May 15, 2008 at 6:02 PM, Jim Bublitz [EMAIL PROTECTED] wrote: I think I must have a different version of configure.py than you are expecting. I'm using the one that comes with pykde-4.0.2-1 at the riverbankcomputing website. It doesnt have a variable called opt_qt_inc_dir, nor a statement like if incdir.startswith ('Q'). Here is part of configure.py, starting at line 587: That seems to be the problem. Try the attached configure.py. It should be the one that's in PyKDE4 tarball, but I've checked and this should have the logic for setting up the include paths correctly. Not sure what happened here. I'll be away from my computer until Sat night/Sun morning. I tired with the new configure.py that Jim posted. That helped, make is using the correct include dirs for Qt4. In addition to copying the extras/kde402 directory to extras/kde403 and extras/kde404, I had to comment out several lines in sip/kdecore/kdecoremod.sip.in: //%Include kmimetypetrader.sip //%Include kmacroexpander.sip At that point, I get another can't use default assignment operator error: - 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/kde404 -I/usr/kde/4.0/include -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/kde/4.0/include/sonnet -I/usr/include/python2.5 -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4 -I/usr/X11R6/include -o sipkdecoreKEncodingDetector.o sipkdecoreKEncodingDetector.cpp /usr/kde/4.0/include/kencodingdetector.h: In member function 'KEncodingDetector KEncodingDetector::operator=(const KEncodingDetector)': /usr/kde/4.0/include/kencodingdetector.h:59: error: non-static const member 'KEncodingDetectorPrivate* const KEncodingDetector::d', can't use default assignment operator sipkdecoreKEncodingDetector.cpp: In function 'void assign_KEncodingDetector(void*, const void*)': sipkdecoreKEncodingDetector.cpp:596: note: synthesized method 'KEncodingDetector KEncodingDetector::operator=(const KEncodingDetector)' first required here make[1]: *** [sipkdecoreKEncodingDetector.o] Error 1 make[1]: Leaving directory `/home/share/packages/PyKDE4-4.0.2-1/kdecore' make: *** [all] Error 2 -- If I comment out //%Include kencodingdetector.sip, configure.py fails: -- $ python configure.py -k /usr/kde/4.0/ package /usr/lib64/python2.5/site-packages/PyKDE4 PyKDE version 4.0.2 --- Python include directory is /usr/include/python2.5 Python version is 2.5.2 sip version is 4.7.5 (4.7.5) Qt directory is /usr Qt version is 4.4.0 PyQt directory is /usr/share/sip PyQt version is 4.4 (4.4.0) gcc version 4.2.3 no concatenation KDE base directory is /usr/kde/4.0/ KDE include directory is /usr/kde/4.0/include KDE lib directory is /usr/kde/4.0/lib64 lib directory is lib KDE version is 4.0.4 (0x40004) PyKDE modules will be installed in /usr/lib64/python2.5/site-packages/PyKDE4 PyKDE .sip files will be installed in /usr/share/sip/PyKDE4 PyKDE modules to be built: kdecore solid kdeui kio kutils kparts khtml Generating the C++ source for the kdecore module... Creating the Makefile for the kdecore module... Generating the C++ source for the solid module... Creating the Makefile for the solid module... Generating the C++ source for the kdeui module... sip: KEncodingDetector::AutoDetectScript is undefined Error: Unable to create the C++ code. --- Is there something else I should try at this point? On Friday 16 May 2008 07:03:44 am Giacomo Lacava wrote: Isn't this related to http://www.riverbankcomputing.com/pipermail/pyqt/2008-March/018916.html ? the fixed PyKDE 4.0.2-2 never made it to the RiverbankComputing site, you can still only download 4.0.2-1. Is 4.0.2-1 the most up-to-date code available to the public? Thanks, Darren ___ PyQt mailing listPyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt
Re: [PyQt] configuring pykde4, error
On Tuesday 20 May 2008 10:47, Darren Dale wrote: At that point, I get another can't use default assignment operator error: I'm not sure what's causing that error, which seems to be the basic problem (other than having an updated configure.py). I haven't downloaded the latest KDE yet, but will have to do that and see if I can reproduce the problem. If I comment out //%Include kencodingdetector.sip, configure.py fails: ... Generating the C++ source for the kdeui module... sip: KEncodingDetector::AutoDetectScript is undefined Error: Unable to create the C++ code. --- Is there something else I should try at this point? KCodecAction (sip/kdeui/kcodecaction.sip) depends on KEncodingDetector. You can either comment out the KEncodingDetector references in kcodecaction.sip or comment out that sip file in sip/kdeui/kdeuimod.sip.in. Jim ___ PyQt mailing listPyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt
Re: [PyQt] configuring pykde4, error
Isn't this related to http://www.riverbankcomputing.com/pipermail/pyqt/2008-March/018916.html ? the fixed PyKDE 4.0.2-2 never made it to the RiverbankComputing site, you can still only download 4.0.2-1. cheers Giacomo On Thu, May 15, 2008 at 6:02 PM, Jim Bublitz [EMAIL PROTECTED] wrote: I think I must have a different version of configure.py than you are expecting. I'm using the one that comes with pykde-4.0.2-1 at the riverbankcomputing website. It doesnt have a variable called opt_qt_inc_dir, nor a statement like if incdir.startswith ('Q'). Here is part of configure.py, starting at line 587: That seems to be the problem. Try the attached configure.py. It should be the one that's in PyKDE4 tarball, but I've checked and this should have the logic for setting up the include paths correctly. Not sure what happened here. I'll be away from my computer until Sat night/Sun morning. Jim ___ PyQt mailing listPyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt -- Giacomo Lacava ___ PyQt mailing listPyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt
Re: [PyQt] configuring pykde4, error
On Wednesday 14 May 2008 06:54:57 pm Jim Bublitz wrote: On Wednesday 14 May 2008 13:54, Darren Dale wrote: 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: 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? Around line 100 in configure.py there's a Python dict where the keys are the module name and the values are a list of include paths - QtNetwork should be in the list for kdecore. What you're showing above for an include path is: -I/usr/kde/4.0/include/QtNetwork Does that path really exist? No, it doesn't exist. I'm not sure where that location came from. Gentoo installs kde into /usr/kde/{3.5,4.0}, and I need to run configure.py with something like -k /usr/kde/4.0. I also tried -k /usr -o /usr/kde/4.0/include/ -n /usr/kde/4.0/lib64/, but that yields the same result. I'm not sure how configure.py is coming up with that - notice that you have what look like correct qt4 paths farther down, but none for QtNetwork. Just from a quick look at my Qt4.3 install, it looks like the Qt/ directory just duplicates the files from QtNetwork/, so I don't think that Qt/ needs to be included. What would help is if a) you could post a copy of the info at the beginning of configure.py's run - where it thinks everything is. It should be finding the Qt directories from your PyQt4 installation (there should be a pyqtconfig.py file in site-packages/ or site-packages/PyQt4 that has the paths from the PyQt4 install) - it doesn't actually look for those; My pyqtconfig is located in /usr/lib/python2.5/site-packages/. Here is the output of $ python configure.py -k /usr/kde/4.0/: package /usr/lib64/python2.5/site-packages/PyKDE4 PyKDE version 4.0.2 --- Python include directory is /usr/include/python2.5 Python version is 2.5.2 sip version is 4.7.5 (4.7.5) Qt directory is /usr Qt version is 4.4.0 PyQt directory is /usr/share/sip PyQt version is 4.4 (4.4.0) gcc version 4.2.3 no concatenation if extra_cflags: makefile.extra_cflags.append(extra_cflags) if extra_cxxflags: makefile.extra_cxxflags.append(extra_cxxflags) if opt_dep_warnings == 0: makefile.extra_cflags.append (-Wno-deprecated-declarations) makefile.extra_cxxflags.append (-Wno-deprecated-declarations) if extra_define: makefile.extra_defines.append(extra_define) makefile.extra_include_dirs.append (os.path.join (.., extra, kde_version_extra)) makefile.extra_include_dirs.append (opt_kdeincdir) if pykde_includes [mname]: for incdir in pykde_includes [mname]: makefile.extra_include_dirs.append (os.path.join (opt_kdeincdir, incdir)) if extra_include_dir: makefile.extra_include_dirs.append(extra_include_dir) if extra_lflags: makefile.extra_lflags.append(extra_lflags) makefile.extra_lib_dirs.append (opt_kdelibdir) if extra_lib_dir: makefile.extra_lib_dirs.append(extra_lib_dir) makefile.extra_libs.append(extra_lib) if pykde_libs [mname]: for lib in pykde_libs [mname]: makefile.extra_libs.append (lib) if sipcfg.sip_version 0x04 and imports: # Inter-module links. for im in imports: makefile.extra_lib_dirs.insert(0,
Re: [PyQt] configuring pykde4, error
On Thursday 15 May 2008 08:26:35 am Darren Dale wrote: On Wednesday 14 May 2008 06:54:57 pm Jim Bublitz wrote: What would help is if a) you could post a copy of the info at the beginning of configure.py's run - where it thinks everything is. It should be finding the Qt directories from your PyQt4 installation (there should be a pyqtconfig.py file in site-packages/ or site-packages/PyQt4 that has the paths from the PyQt4 install) - it doesn't actually look for those; My pyqtconfig is located in /usr/lib/python2.5/site-packages/. Here is the output of $ python configure.py -k /usr/kde/4.0/: package /usr/lib64/python2.5/site-packages/PyKDE4 PyKDE version 4.0.2 --- Python include directory is /usr/include/python2.5 Python version is 2.5.2 sip version is 4.7.5 (4.7.5) Qt directory is /usr Qt version is 4.4.0 PyQt directory is /usr/share/sip PyQt version is 4.4 (4.4.0) gcc version 4.2.3 no concatenation [... sorry, I must have bumped my scrollwheel here in my previous message, inserting a block of text from configure.py ...] KDE base directory is /usr/kde/4.0/ KDE include directory is /usr/kde/4.0/include KDE lib directory is /usr/kde/4.0/lib64 lib directory is lib KDE version is 4.0.3 (0x40003) PyKDE modules will be installed in /usr/lib64/python2.5/site-packages/PyKDE4 PyKDE .sip files will be installed in /usr/share/sip/PyKDE4 PyKDE modules to be built: kdecore solid kdeui kio kutils kparts khtml ___ PyQt mailing listPyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt
Re: [PyQt] configuring pykde4, error
I think I must have a different version of configure.py than you are expecting. I'm using the one that comes with pykde-4.0.2-1 at the riverbankcomputing website. It doesnt have a variable called opt_qt_inc_dir, nor a statement like if incdir.startswith ('Q'). Here is part of configure.py, starting at line 587: That seems to be the problem. Try the attached configure.py. It should be the one that's in PyKDE4 tarball, but I've checked and this should have the logic for setting up the include paths correctly. Not sure what happened here. I'll be away from my computer until Sat night/Sun morning. Jim configure.py Description: application/python ___ PyQt mailing listPyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt
[PyQt] configuring pykde4, error
I am working on compiling pykde4-4.0.2-1. I have installed qt-4.4_rc1 (I know the final version is out, gentoo hasnt included it yet in their package manager) sip-4.7.5, qscintilla-2.2, and PyQt4-4.4. When I run configure.py, I get an error: Generating the C++ source for the kdecore module... sip: sip/kdecore/typedefs.sip:263: %MappedType template for this type has already been defined Error: Unable to create the C++ code. Has anyone been able to build PyKDE-4.0.2-1 with the most recent sip/QScintilla/Qt/PyQt4 environment? Is there a PyKDE-4.0.3 available? (kubuntu lists it in their package manager, but I havent been able to find the sources.) Thanks, Darren ___ PyQt mailing listPyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt
Re: [PyQt] configuring pykde4, error
On Wednesday 14 May 2008 10:27, Darren Dale wrote: I am working on compiling pykde4-4.0.2-1. I have installed qt-4.4_rc1 (I know the final version is out, gentoo hasnt included it yet in their package manager) sip-4.7.5, qscintilla-2.2, and PyQt4-4.4. When I run configure.py, I get an error: Generating the C++ source for the kdecore module... sip: sip/kdecore/typedefs.sip:263: %MappedType template for this type has already been defined Error: Unable to create the C++ code. Has anyone been able to build PyKDE-4.0.2-1 with the most recent sip/QScintilla/Qt/PyQt4 environment? Is there a PyKDE-4.0.3 available? (kubuntu lists it in their package manager, but I havent been able to find the sources.) I have my development machine on a different project at the moment, so I can't check this explicitly, but the likely problem is that PyQt4 has added a definition for a template type that wasn't provided previously. The fix would be to comment out (/* .. */, not Python comment) the entire %MappedType block begining at the line indicated (including any preceding template annotation) in sip/kdecore/typedefs.sip. Jim ___ PyQt mailing listPyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt
Re: [PyQt] configuring pykde4, error
On Wednesday 14 May 2008 01:58:37 pm Jim Bublitz wrote: On Wednesday 14 May 2008 10:27, Darren Dale wrote: I am working on compiling pykde4-4.0.2-1. I have installed qt-4.4_rc1 (I know the final version is out, gentoo hasnt included it yet in their package manager) sip-4.7.5, qscintilla-2.2, and PyQt4-4.4. When I run configure.py, I get an error: Generating the C++ source for the kdecore module... sip: sip/kdecore/typedefs.sip:263: %MappedType template for this type has already been defined Error: Unable to create the C++ code. Has anyone been able to build PyKDE-4.0.2-1 with the most recent sip/QScintilla/Qt/PyQt4 environment? Is there a PyKDE-4.0.3 available? (kubuntu lists it in their package manager, but I havent been able to find the sources.) I have my development machine on a different project at the moment, so I can't check this explicitly, but the likely problem is that PyQt4 has added a definition for a template type that wasn't provided previously. The fix would be to comment out (/* .. */, not Python comment) the entire %MappedType block begining at the line indicated (including any preceding template annotation) in sip/kdecore/typedefs.sip. Thank you Jim, it looks like commenting that part out worked. I also had to do: cp extra/kde402 extra/kde403 and for good measure: cp extra/kde402 extra/kde404 in order to avoid some errors like: In file included from sipkdecoreQPair.cpp:7: sip/kdecore/ksycocafactory.sip:26:28: error: ksycocafactory.h: No such file or directory 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? Thanks, Darren ___ PyQt mailing listPyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt
Re: [PyQt] configuring pykde4, error
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: I am working on compiling pykde4-4.0.2-1. I have installed qt-4.4_rc1 (I know the final version is out, gentoo hasnt included it yet in their package manager) sip-4.7.5, qscintilla-2.2, and PyQt4-4.4. When I run configure.py, I get an error: Generating the C++ source for the kdecore module... sip: sip/kdecore/typedefs.sip:263: %MappedType template for this type has already been defined Error: Unable to create the C++ code. Has anyone been able to build PyKDE-4.0.2-1 with the most recent sip/QScintilla/Qt/PyQt4 environment? Is there a PyKDE-4.0.3 available? (kubuntu lists it in their package manager, but I havent been able to find the sources.) I have my development machine on a different project at the moment, so I can't check this explicitly, but the likely problem is that PyQt4 has added a definition for a template type that wasn't provided previously. The fix would be to comment out (/* .. */, not Python comment) the entire %MappedType block begining at the line indicated (including any preceding template annotation) in sip/kdecore/typedefs.sip. Thank you Jim, it looks like commenting that part out worked. I also had to do: cp extra/kde402 extra/kde403 and for good measure: cp extra/kde402 extra/kde404 in order to avoid some errors like: In file included from sipkdecoreQPair.cpp:7: sip/kdecore/ksycocafactory.sip:26:28: error: ksycocafactory.h: No such file or directory 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. Otherwise, go into sip/kdecore/kdecoremod.sip.in and comment out (//) the line %Include kmacroexpander.sip It's not a particularly useful set of classes and nothing else depends on it in PyKDE as far as I know. I actually looked at the code for this one - forgot I could just mount the PyKDE partition and view it. Jim ___ PyQt mailing listPyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt
Re: [PyQt] configuring pykde4, error
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
Re: [PyQt] configuring pykde4, error
On Wednesday 14 May 2008 13:54, Darren Dale wrote: 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: 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? Around line 100 in configure.py there's a Python dict where the keys are the module name and the values are a list of include paths - QtNetwork should be in the list for kdecore. What you're showing above for an include path is: -I/usr/kde/4.0/include/QtNetwork Does that path really exist? I'm not sure how configure.py is coming up with that - notice that you have what look like correct qt4 paths farther down, but none for QtNetwork. Just from a quick look at my Qt4.3 install, it looks like the Qt/ directory just duplicates the files from QtNetwork/, so I don't think that Qt/ needs to be included. What would help is if a) you could post a copy of the info at the beginning of configure.py's run - where it thinks everything is. It should be finding the Qt directories from your PyQt4 installation (there should be a pyqtconfig.py file in site-packages/ or site-packages/PyQt4 that has the paths from the PyQt4 install) - it doesn't actually look for those; and b) around line 607 in configure.py, there should be a statement: if incdir.startswith ('Q'): If you could add: print incdir, opt_qt_inc_dir *before* that 'if' stmt, it should indicate if QtNetwork is being added as an include path. A print statement after the 'if' (in it's block) would indicate whether the include path is being added to the Makefile. It seems like the directory layout isn't something configure.py is expecting. Jim ___ PyQt mailing listPyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt