[SIP] Compilation errors after upgrade to version 4.19.14

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[SIP] Compilation errors after upgrade to version 4.19.14

Antoine Lambert
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

Best regards



_______________________________________________
PyQt mailing list    [hidden email]
https://www.riverbankcomputing.com/mailman/listinfo/pyqt
Reply | Threaded
Open this post in threaded view
|

Re: [SIP] Compilation errors after upgrade to version 4.19.14

Phil Thompson-5
On 1 Mar 2019, at 7:38 pm, Antoine Lambert <[hidden email]> 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
_______________________________________________
PyQt mailing list    [hidden email]
https://www.riverbankcomputing.com/mailman/listinfo/pyqt
Reply | Threaded
Open this post in threaded view
|

Re: [SIP] Compilation errors after upgrade to version 4.19.14

Antoine Lambert
You were right, some of my sip files were out of sync with the C++ header files.

Since the adding of the override keyword in the generated bindings code, the signature of the virtual
methods must not differ between files. I had some methods whose signatures were missing some
const keywords for instance. I managed to fix all of that, gory details can be found here:

Sorry for the noise.

Best regards 

Le sam. 2 mars 2019 à 10:23, Phil Thompson <[hidden email]> a écrit :
On 1 Mar 2019, at 7:38 pm, Antoine Lambert <[hidden email]> 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

_______________________________________________
PyQt mailing list    [hidden email]
https://www.riverbankcomputing.com/mailman/listinfo/pyqt