Bug 323899 - Python bindings does not build with sip 4.15
Summary: Python bindings does not build with sip 4.15
Status: RESOLVED UPSTREAM
Alias: None
Product: bindings
Classification: Developer tools
Component: pykde (show other bugs)
Version: 4.11.0
Platform: Compiled Sources Linux
: NOR major
Target Milestone: ---
Assignee: kde-bindings
URL:
Keywords:
Depends on:
Blocks: 323950 324281
  Show dependency treegraph
 
Reported: 2013-08-22 17:10 UTC by Andrea Scarpino
Modified: 2014-10-26 01:33 UTC (History)
26 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Qreal/Double Fix Patch for Arm (821 bytes, patch)
2013-09-20 04:57 UTC, Scott Kitterman
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrea Scarpino 2013-08-22 17:10:28 UTC
In file included from /usr/include/akonadi/entityrightsfiltermodel.h:25:0,
                 from /build/kdebindings-python/src/pykde4-4.11.0/sip/akonadi/agentfilterproxymodel.sip:58,
                 from /build/kdebindings-python/src/build/sip/akonadi/sipakonadipart0.cpp:7:
/usr/include/krecursivefilterproxymodel.h: In member function ‘virtual bool sipAkonadi_TrashFilterProxyModel::filterAcceptsRow(int, const QModelIndex&) const’:
/usr/include/krecursivefilterproxymodel.h:118:8: error: ‘virtual bool KRecursiveFilterProxyModel::filterAcceptsRow(int, const QModelIndex&) const’ is private
   bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const;
        ^
/build/kdebindings-python/src/build/sip/akonadi/sipakonadipart0.cpp:8154:70: error: within this context
         return Akonadi::TrashFilterProxyModel::filterAcceptsRow(a0,a1);
                                                                      ^
make[2]: *** [CMakeFiles/python_module_PyKDE4_akonadi.dir/sip/akonadi/sipakonadipart0.cpp.o] Error 1
make[1]: *** [CMakeFiles/python_module_PyKDE4_akonadi.dir/all] Error 2
make: *** [all] Error 2

Reproducible: Always

Steps to Reproduce:
1. Update sip
2. Update pyqt
3. Try to build kdebindings-python
Actual Results:  
Build fails

Expected Results:  
It builds.

sip 4.15
pyqt 4.10.3
kde 4.11.0
Comment 1 Dennis veatch 2013-08-25 10:22:41 UTC
Have the same build problem here. It still fails when using sip-4.15.1.


sip-4.15.1
PyQt 4.10.3
pykde-4.11.0
Comment 2 Bastian Beischer 2013-08-25 11:39:15 UTC
*** This bug has been confirmed by popular vote. ***
Comment 3 Hrvoje Senjan 2013-08-25 16:21:50 UTC
(In reply to comment #1)
> Have the same build problem here. It still fails when using sip-4.15.1.
> 
> 
> sip-4.15.1
> PyQt 4.10.3
> pykde-4.11.0

Error with those is:

[  137s] /home/abuild/rpmbuild/BUILD/pykde4-4.11.0/build/sip/kdeui/sipkdeuipart0.cpp:4138:11: warning: unused parameter 'a3' [-Wunused-parameter]
[  137s]  QWidget * sipVH_kdeui_24(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, QWidget *a0,int a1,const QDomElement& a2,QAction *&a3)
[  137s]            ^
[  137s] In file included from /home/abuild/rpmbuild/BUILD/pykde4-4.11.0/sip/kdeui/kabstractwidgetjobtracker.sip:31:0,
[  137s]                  from /home/abuild/rpmbuild/BUILD/pykde4-4.11.0/build/sip/kdeui/sipkdeuipart0.cpp:7:
[  137s] /usr/include/sonnet/highlighter.h: In member function 'virtual void sipSonnet_Highlighter::disconnectNotify(const char*)':
[  137s] /usr/include/sonnet/highlighter.h:166:22: error: 'virtual void Sonnet::Highlighter::disconnectNotify(const char*)' is private
[  137s]          virtual void disconnectNotify(const char* signal);
[  137s]                       ^
[  137s] /home/abuild/rpmbuild/BUILD/pykde4-4.11.0/build/sip/kdeui/sipkdeuipart0.cpp:10704:49: error: within this context
[  137s]          Sonnet::Highlighter::disconnectNotify(a0);
[  137s]                                                  ^
[  137s] In file included from /home/abuild/rpmbuild/BUILD/pykde4-4.11.0/sip/kdeui/kabstractwidgetjobtracker.sip:31:0,
[  137s]                  from /home/abuild/rpmbuild/BUILD/pykde4-4.11.0/build/sip/kdeui/sipkdeuipart0.cpp:7:
[  137s] /usr/include/sonnet/highlighter.h: In member function 'virtual void sipSonnet_Highlighter::connectNotify(const char*)':
[  137s] /usr/include/sonnet/highlighter.h:165:22: error: 'virtual void Sonnet::Highlighter::connectNotify(const char*)' is private
[  137s]          virtual void connectNotify(const char* signal);
[  137s]                       ^
[  137s] /home/abuild/rpmbuild/BUILD/pykde4-4.11.0/build/sip/kdeui/sipkdeuipart0.cpp:10722:46: error: within this context
[  137s]          Sonnet::Highlighter::connectNotify(a0);
[  137s]                                               ^
[  137s] /usr/share/sip/PyQt4/QtGui/qsyntaxhighlighter.sip: In function 'PyObject* meth_Sonnet_Highlighter_setCurrentBlockUserData(PyObject*, PyObject*, PyObject*)':
[  137s] /usr/share/sip/PyQt4/QtGui/qsyntaxhighlighter.sip:78:77: error: 'qtgui_wrap_ancestors' was not declared in this scope
[  137s]              PyObject *py_td = qtgui_wrap_ancestors(td, sipType_QTextDocument);
[  137s]                                                                              ^
[  138s] make[2]: *** [CMakeFiles/python_module_PyKDE4_kdeui.dir/sip/kdeui/sipkdeuipart0.cpp.o] Error 1
[  138s] make[2]: Leaving directory `/home/abuild/rpmbuild/BUILD/pykde4-4.11.0/build'
[  138s] make[1]: *** [CMakeFiles/python_module_PyKDE4_kdeui.dir/all] Error 2
Comment 4 Luca Beltrame 2013-09-01 15:35:34 UTC
Git commit 783d073f30e253e8db52d8801c1c829e6f405e60 by Luca Beltrame.
Committed on 01/09/2013 at 15:33.
Pushed by lbeltrame into branch 'KDE/4.11'.

First step in trying to make PyKDE4 work with newer SIP.
Context is http://lists.kde.org/?l=kde-bindings&m=137759567504203&w=2

Notice that this change alone will not fix the issues: a newer SIP
(unreleased) is needed and more work is needed in the bindings to fix issues

M  +2    -2    CMakeLists.txt

http://commits.kde.org/pykde4/783d073f30e253e8db52d8801c1c829e6f405e60
Comment 5 Scott Kitterman 2013-09-09 14:54:01 UTC
The current sip snapshot plus some pykde changes are needed to fix this.  The pykde patch can be found in http://launchpadlibrarian.net/149780365/pykde4_4%3A4.11.1-0ubuntu1_4%3A4.11.1-0ubuntu2.diff.gz
Comment 6 Luca Beltrame 2013-09-09 18:23:11 UTC
[adding Simon Edwards to the CC]

I gave a quick look at the patch and looks upstreamable in my (limited) view. Simon, what do you think about it? Should I push it to PyKDE4, or does it needs adjustments?
Comment 7 Scott Kitterman 2013-09-09 18:27:59 UTC
I would hope so. Simon wrote the patch.

There's still an unresolved issue that's arm specific, so I think people that don't care about arm can use this.
Comment 8 Luca Beltrame 2013-09-09 18:31:40 UTC
In data lunedì 09 settembre 2013 18:27:59, hai scritto:

> There's still an unresolved issue that's arm specific, so I think people
> that don't care about arm can use this.

I'm mostly interested in pushing this to Git to ensure that patching would not 
be (ultimately) needed. Hence my question: personally I'd put it already on 
given that building on *some* platforms is better than not building *at all*, 
but as I said I'll be waiting for Simon's comment first.
Comment 9 Luca Beltrame 2013-09-16 05:32:29 UTC
FYI, Simon has committed the fix to git (master and 4.11) so it should be fine 
(but ensure you use the latest SIP as well - 4.15.2).
Comment 10 Scott Kitterman 2013-09-17 04:55:26 UTC
Still fails on arm:

https://launchpadlibrarian.net/150457516/buildlog_ubuntu-saucy-armhf.pykde4_4%3A4.11.1%2Bgit20130916-0ubuntu1_FAILEDTOBUILD.txt.gz

I assume there's a qreal/double issue buried in there somewhere, but I don't know where.
Comment 11 Michael Palimaka 2013-09-17 10:21:50 UTC
Can anyone provide the exact build failure on arm?
Comment 12 Scott Kitterman 2013-09-17 11:55:26 UTC
It's in the build log I linked above.
Comment 13 Luca Beltrame 2013-09-17 12:46:23 UTC
In data martedì 17 settembre 2013 11:55:26, hai scritto:

> --- Comment #12 from Scott Kitterman <kde@kitterman.com> ---
> It's in the build log I linked above.

Cleaned of all the build process log, that's what I could find:

sip: /build/buildd/pykde4-4.11.1+git20130916/sip/kdeui/kplotaxis.sip:44: 
KPlotAxis::majorTickMarks() unsupported function return type - provide 
%MethodCode and a C++ signature
make[5]: *** [sip/kdeui/sipkdeuipart0.cpp] Error 1

The same error appears further down in the build log.

– 
Luca Beltrame - KDE Forums team
KDE Science supporter
GPG key ID: 6E1A4E79
Comment 14 Scott Kitterman 2013-09-17 13:40:26 UTC
It's definitely not the mpst helpful error message. I'm guessing there's a qreal/double issue in the generated code.
Comment 15 Scott Kitterman 2013-09-20 04:57:10 UTC
Created attachment 82419 [details]
Qreal/Double Fix Patch for Arm

This fixes the particular build failure I've seen on armhf, so it's progress.  The build is still going, so I won't know until tomorrow if this is the only arm specific issue or not.
Comment 16 Scott Kitterman 2013-09-20 05:23:44 UTC
No.  That fix was not sufficient.  Here's the new log:

https://launchpadlibrarian.net/150797687/buildlog_ubuntu-saucy-armhf.pykde4_4%3A4.11.1%2Bgit20130916-0ubuntu2_FAILEDTOBUILD.txt.gz

Search for sipkdeuipart3.cpp:22329:63 in the log to find the point of failure.
Comment 17 Christoph Feck 2014-01-26 11:38:15 UTC
What is the status of this bug? Is this still reproducible?
Comment 18 Christoph Feck 2014-10-26 00:37:57 UTC
If you can provide the information requested in comment #17, please add it.
Comment 19 Scott Kitterman 2014-10-26 01:33:45 UTC
For Kubuntu and Debian the arm portion of this was fixed via a change in pyqt4.  The patch is here:

http://anonscm.debian.org/viewvc/python-modules/packages/python-qt4/trunk/debian/patches/qreal_float_support.diff?revision=26452&view=markup