[PyQt] [SIP] Compilation errors after upgrade to version 4.19.14

Phil Thompson phil at riverbankcomputing.com
Sat Mar 2 09:23:01 GMT 2019


On 1 Mar 2019, at 7:38 pm, Antoine Lambert <antoine.lambert33 at gmail.com> wrote:
> 
> Hi,
> 
> I wanted to upgrade sip to its latest upstream version for generating the Python bindings of the Tulip graph visualization framework. But the newly generated bindings code fails to compile and the following type of errors are reported.
> 
> [ 80%] Building CXX object library/tulip-python/bindings/tulip-core/CMakeFiles/tulip-core-python-bindings.dir/sip_tulippart6.cpp.o
> /home/antoine/dev/tulip_build/library/tulip-python/bindings/tulip-core/sip_tulippart4.cpp:12799:10: error: ‘bool siptlp_GraphProperty::setAllNodeStringValue(const string&, tlp::Graph*)’ marked ‘override’, but does not override
>  void siptlp_GraphProperty::treatEvents(const std::vector< ::tlp::Event>& a0)
>           ^~~~~~~~~~~~~~~~~~~~~
> /home/antoine/dev/tulip_build/library/tulip-python/bindings/tulip-core/sip_tulippart4.cpp:12800:10: error: ‘bool siptlp_GraphProperty::setStringValueToGraphNodes(const string&, tlp::Graph*)’ marked ‘override’, but does not override
>  {
>           ^                         
> /home/antoine/dev/tulip_build/library/tulip-python/bindings/tulip-core/sip_tulippart4.cpp:12803:10: error: ‘bool siptlp_GraphProperty::setAllEdgeStringValue(const string&, tlp::Graph*)’ marked ‘override’, but does not override
>  
>           ^                    
> /home/antoine/dev/tulip_build/library/tulip-python/bindings/tulip-core/sip_tulippart4.cpp:12804:10: error: ‘bool siptlp_GraphProperty::setStringValueToGraphEdges(const string&, tlp::Graph*)’ marked ‘override’, but does not override
>      sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[1],sipPySelf,SIP_NULLPTR,sipName_treatEvents);
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /home/antoine/dev/tulip_build/library/tulip-python/bindings/tulip-core/sip_tulippart4.cpp:12807:20: error: ‘std::__cxx11::string siptlp_GraphProperty::getNodeStringValue(tlp::node)’ marked ‘override’, but does not override
>      {
>                     ^                 
> /home/antoine/dev/tulip_build/library/tulip-python/bindings/tulip-core/sip_tulippart4.cpp:12808:20: error: ‘std::__cxx11::string siptlp_GraphProperty::getEdgeStringValue(tlp::edge)’ marked ‘override’, but does not override
>           ::tlp::GraphProperty::treatEvents(a0);
>                     ^~~~~~~~~~~~~~~~~~
> /home/antoine/dev/tulip_build/library/tulip-python/bindings/tulip-core/sip_tulippart4.cpp:15527:10: error: ‘void siptlp_CoordVectorProperty::copy(tlp::CoordVectorProperty*)’ marked ‘override’, but does not override
> 
> If you want to reproduce the issue, I have pushed a branch on GitHub: https://github.com/anlambert/tulip/tree/tulip-python-sip-4.19.14

As far as I can tell your .sip files are out of sync with your .h files.

For example, in GraphProperty.sip does not define a setAllNodeStringValue() method, but GraphProperty.h does.

Phil


More information about the PyQt mailing list