Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux: fail to build against sip>=4.19.23 #101

Open
bartoszek opened this issue Jul 5, 2020 · 3 comments
Open

Linux: fail to build against sip>=4.19.23 #101

bartoszek opened this issue Jul 5, 2020 · 3 comments

Comments

@bartoszek
Copy link

bartoszek commented Jul 5, 2020

Have some trouble building with USE_PYTHON=ON

  • Seexpr:3.0.1
  • Env: {Os:Linux, Distro:Arch, sip:4.19.23, python:3.8.3, pyqt5:5.15.0, llvm:9.0.1, gcc:10.1.0}
    • Last working Env: {sip:4.19.22}
  • Full log: seexpr3.0.1.build.log
  • Except from log file:
./sipexpreditor2part0.cpp: In function ‘void* array_ExprColorSwatchWidget(Py_ssize_t)’:
./sipexpreditor2part0.cpp:6320:50: error: no matching function for call to ‘ExprColorSwatchWidget::ExprColorSwatchWidget()’
 6320 |     return new  ::ExprColorSwatchWidget[sipNrElem];
      |                                                  ^
In file included from /build/seexpr/src/SeExpr/src/SeExpr2/UI/SeExpr2Editor.sip:243:
/build/seexpr/src/SeExpr/src/SeExpr2/UI/ExprColorSwatch.h:58:5: note: candidate: ‘ExprColorSwatchWidget::ExprColorSwatchWidget(bool, QWidget*)’
   58 |     ExprColorSwatchWidget(bool indexLabel, QWidget *parent = 0);
      |     ^~~~~~~~~~~~~~~~~~~~~
/build/seexpr/src/SeExpr/src/SeExpr2/UI/ExprColorSwatch.h:58:5: note:   candidate expects 2 arguments, 0 provided
./sipexpreditor2part0.cpp: In function ‘void* array_ExprDialog(Py_ssize_t)’:
./sipexpreditor2part0.cpp:31064:39: error: no matching function for call to ‘ExprDialog::ExprDialog()’
31064 |     return new  ::ExprDialog[sipNrElem];
      |                                       ^
In file included from /build/seexpr/src/SeExpr/src/SeExpr2/UI/SeExpr2Editor.sip:73:
/build/seexpr/src/SeExpr/src/SeExpr2/UI/ExprDialog.h:68:5: note: candidate: ‘ExprDialog::ExprDialog(QWidget*)’
   68 |     ExprDialog(QWidget* parent);
      |     ^~~~~~~~~~
/build/seexpr/src/SeExpr/src/SeExpr2/UI/ExprDialog.h:68:5: note:   candidate expects 1 argument, 0 provided
make[2]: *** [src/SeExpr2/UI/CMakeFiles/expreditor2.dir/build.make:87: src/SeExpr2/UI/CMakeFiles/expreditor2.dir/sipexpreditor2part0.cpp.o] Error 1
make[2]: Leaving directory '/build/seexpr/src/build'
make[1]: *** [CMakeFiles/Makefile2:349: src/SeExpr2/UI/CMakeFiles/expreditor2.dir/all] Error 2
make[1]: Leaving directory '/build/seexpr/src/build'
@bartoszek bartoszek changed the title Linux: fail to build sip bindings. Linux: fail to build against sip>=4.19. Jul 5, 2020
@bartoszek bartoszek changed the title Linux: fail to build against sip>=4.19. Linux: fail to build against sip>=4.19.23 Jul 20, 2020
@bartoszek
Copy link
Author

Here's the diff between sip:4.19.22 and sip:4.19.23.

--- sipexpreditor2part0.cpp_sip41922	2020-07-20 14:45:34.660360068 +0200
+++ sipexpreditor2part0.cpp_sip41923	2020-07-20 14:45:38.886992025 +0200
@@ -1,7 +1,7 @@
 /*
  * Module code.
  *
- * Generated by SIP 4.19.22
+ * Generated by SIP 4.19.23
  */
 
 #include "sipAPIexpreditor2.h"
@@ -109,6 +109,24 @@
 #include <iostream>
 #include <string>
 #line "./sipexpreditor2part0.cpp"
+#line "/build/seexpr/src/SeExpr/src/SeExpr2/UI/SeExpr2Editor.sip"
+#include "ExprDialog.h"
+#line "./sipexpreditor2part0.cpp"
+#line "/build/seexpr/src/SeExpr/src/SeExpr2/UI/SeExpr2Editor.sip"
+#include "ExprControlCollection.h"
+#line "./sipexpreditor2part0.cpp"
+#line "/build/seexpr/src/SeExpr/src/SeExpr2/UI/SeExpr2Editor.sip"
+#include "ExprCurve.h"
+#line "./sipexpreditor2part0.cpp"
+#line "/build/seexpr/src/SeExpr/src/SeExpr2/UI/SeExpr2Editor.sip"
+#include "ExprColorCurve.h"
+#line "./sipexpreditor2part0.cpp"
+#line "/build/seexpr/src/SeExpr/src/SeExpr2/UI/SeExpr2Editor.sip"
+#include "ExprColorSwatch.h"
+#line "./sipexpreditor2part0.cpp"
+#line "/build/seexpr/src/SeExpr/src/SeExpr2/UI/SeExpr2Editor.sip"
+#include "ExprDeepWater.h"
+#line "./sipexpreditor2part0.cpp"
 
 /* Define the strings used by this module. */
 const char sipStrings_expreditor2[] = {
@@ -1178,7 +1196,11 @@
     _id =  ::ExprDeepWater::qt_metacall(_c,_id,_a);
 
     if (_id >= 0)
+    {
+        SIP_BLOCK_THREADS
         _id = sip_expreditor2_qt_metacall(sipPySelf,sipType_ExprDeepWater,_c,_id,_a);
+        SIP_UNBLOCK_THREADS
+    }
 
     return _id;
 }
@@ -3476,6 +3498,13 @@
 }
 
 
+extern "C" {static void *array_ExprDeepWater(Py_ssize_t);}
+static void *array_ExprDeepWater(Py_ssize_t sipNrElem)
+{
+    return new  ::ExprDeepWater[sipNrElem];
+}
+
+
 extern "C" {static void dealloc_ExprDeepWater(sipSimpleWrapper *);}
 static void dealloc_ExprDeepWater(sipSimpleWrapper *sipSelf)
 {
@@ -3610,7 +3639,7 @@
 #endif
     dealloc_ExprDeepWater,
     SIP_NULLPTR,
-    SIP_NULLPTR,
+    array_ExprDeepWater,
     SIP_NULLPTR,
     release_ExprDeepWater,
     cast_ExprDeepWater,
@@ -3983,7 +4012,11 @@
     _id =  ::ExprColorSwatchWidget::qt_metacall(_c,_id,_a);
 
     if (_id >= 0)
+    {
+        SIP_BLOCK_THREADS
         _id = sip_expreditor2_qt_metacall(sipPySelf,sipType_ExprColorSwatchWidget,_c,_id,_a);
+        SIP_UNBLOCK_THREADS
+    }
 
     return _id;
 }
@@ -6281,6 +6314,13 @@
 }
 
 
+extern "C" {static void *array_ExprColorSwatchWidget(Py_ssize_t);}
+static void *array_ExprColorSwatchWidget(Py_ssize_t sipNrElem)
+{
+    return new  ::ExprColorSwatchWidget[sipNrElem];
+}
+
+
 extern "C" {static void dealloc_ExprColorSwatchWidget(sipSimpleWrapper *);}
 static void dealloc_ExprColorSwatchWidget(sipSimpleWrapper *sipSelf)
 {
@@ -6416,7 +6456,7 @@
 #endif
     dealloc_ExprColorSwatchWidget,
     SIP_NULLPTR,
-    SIP_NULLPTR,
+    array_ExprColorSwatchWidget,
     SIP_NULLPTR,
     release_ExprColorSwatchWidget,
     cast_ExprColorSwatchWidget,
@@ -6789,7 +6829,11 @@
     _id =  ::ExprColorCurve::qt_metacall(_c,_id,_a);
 
     if (_id >= 0)
+    {
+        SIP_BLOCK_THREADS
         _id = sip_expreditor2_qt_metacall(sipPySelf,sipType_ExprColorCurve,_c,_id,_a);
+        SIP_UNBLOCK_THREADS
+    }
 
     return _id;
 }
@@ -9087,6 +9131,13 @@
 }
 
 
+extern "C" {static void *array_ExprColorCurve(Py_ssize_t);}
+static void *array_ExprColorCurve(Py_ssize_t sipNrElem)
+{
+    return new  ::ExprColorCurve[sipNrElem];
+}
+
+
 extern "C" {static void dealloc_ExprColorCurve(sipSimpleWrapper *);}
 static void dealloc_ExprColorCurve(sipSimpleWrapper *sipSelf)
 {
@@ -9233,7 +9284,7 @@
 #endif
     dealloc_ExprColorCurve,
     SIP_NULLPTR,
-    SIP_NULLPTR,
+    array_ExprColorCurve,
     SIP_NULLPTR,
     release_ExprColorCurve,
     cast_ExprColorCurve,
@@ -9606,7 +9657,11 @@
     _id =  ::ExprCurve::qt_metacall(_c,_id,_a);
 
     if (_id >= 0)
+    {
+        SIP_BLOCK_THREADS
         _id = sip_expreditor2_qt_metacall(sipPySelf,sipType_ExprCurve,_c,_id,_a);
+        SIP_UNBLOCK_THREADS
+    }
 
     return _id;
 }
@@ -11904,6 +11959,13 @@
 }
 
 
+extern "C" {static void *array_ExprCurve(Py_ssize_t);}
+static void *array_ExprCurve(Py_ssize_t sipNrElem)
+{
+    return new  ::ExprCurve[sipNrElem];
+}
+
+
 extern "C" {static void dealloc_ExprCurve(sipSimpleWrapper *);}
 static void dealloc_ExprCurve(sipSimpleWrapper *sipSelf)
 {
@@ -12050,7 +12112,7 @@
 #endif
     dealloc_ExprCurve,
     SIP_NULLPTR,
-    SIP_NULLPTR,
+    array_ExprCurve,
     SIP_NULLPTR,
     release_ExprCurve,
     cast_ExprCurve,
@@ -12453,7 +12515,11 @@
     _id =  ::ExprShortEdit::qt_metacall(_c,_id,_a);
 
     if (_id >= 0)
+    {
+        SIP_BLOCK_THREADS
         _id = sip_expreditor2_qt_metacall(sipPySelf,sipType_ExprShortEdit,_c,_id,_a);
+        SIP_UNBLOCK_THREADS
+    }
 
     return _id;
 }
@@ -16142,7 +16208,11 @@
     _id =  ::ExprShortTextEdit::qt_metacall(_c,_id,_a);
 
     if (_id >= 0)
+    {
+        SIP_BLOCK_THREADS
         _id = sip_expreditor2_qt_metacall(sipPySelf,sipType_ExprShortTextEdit,_c,_id,_a);
+        SIP_UNBLOCK_THREADS
+    }
 
     return _id;
 }
@@ -19462,7 +19532,11 @@
     _id =  ::ExprBrowser::qt_metacall(_c,_id,_a);
 
     if (_id >= 0)
+    {
+        SIP_BLOCK_THREADS
         _id = sip_expreditor2_qt_metacall(sipPySelf,sipType_ExprBrowser,_c,_id,_a);
+        SIP_UNBLOCK_THREADS
+    }
 
     return _id;
 }
@@ -22507,7 +22581,11 @@
     _id =  ::ExprEditor::qt_metacall(_c,_id,_a);
 
     if (_id >= 0)
+    {
+        SIP_BLOCK_THREADS
         _id = sip_expreditor2_qt_metacall(sipPySelf,sipType_ExprEditor,_c,_id,_a);
+        SIP_UNBLOCK_THREADS
+    }
 
     return _id;
 }
@@ -25608,7 +25686,11 @@
     _id =  ::ExprControlCollection::qt_metacall(_c,_id,_a);
 
     if (_id >= 0)
+    {
+        SIP_BLOCK_THREADS
         _id = sip_expreditor2_qt_metacall(sipPySelf,sipType_ExprControlCollection,_c,_id,_a);
+        SIP_UNBLOCK_THREADS
+    }
 
     return _id;
 }
@@ -27906,6 +27988,13 @@
 }
 
 
+extern "C" {static void *array_ExprControlCollection(Py_ssize_t);}
+static void *array_ExprControlCollection(Py_ssize_t sipNrElem)
+{
+    return new  ::ExprControlCollection[sipNrElem];
+}
+
+
 extern "C" {static void dealloc_ExprControlCollection(sipSimpleWrapper *);}
 static void dealloc_ExprControlCollection(sipSimpleWrapper *sipSelf)
 {
@@ -28040,7 +28129,7 @@
 #endif
     dealloc_ExprControlCollection,
     SIP_NULLPTR,
-    SIP_NULLPTR,
+    array_ExprControlCollection,
     SIP_NULLPTR,
     release_ExprControlCollection,
     cast_ExprControlCollection,
@@ -28426,7 +28515,11 @@
     _id =  ::ExprDialog::qt_metacall(_c,_id,_a);
 
     if (_id >= 0)
+    {
+        SIP_BLOCK_THREADS
         _id = sip_expreditor2_qt_metacall(sipPySelf,sipType_ExprDialog,_c,_id,_a);
+        SIP_UNBLOCK_THREADS
+    }
 
     return _id;
 }
@@ -30965,6 +31058,13 @@
 }
 
 
+extern "C" {static void *array_ExprDialog(Py_ssize_t);}
+static void *array_ExprDialog(Py_ssize_t sipNrElem)
+{
+    return new  ::ExprDialog[sipNrElem];
+}
+
+
 extern "C" {static void dealloc_ExprDialog(sipSimpleWrapper *);}
 static void dealloc_ExprDialog(sipSimpleWrapper *sipSelf)
 {
@@ -31148,7 +31248,7 @@
 #endif
     dealloc_ExprDialog,
     SIP_NULLPTR,
-    SIP_NULLPTR,
+    array_ExprDialog,
     SIP_NULLPTR,
     release_ExprDialog,
     cast_ExprDialog,

@Popolon
Copy link

Popolon commented Sep 30, 2020

probably need to make a pull request?

@risicle
Copy link

risicle commented May 27, 2021

This is also causing breakage of the Nix package for seexpr: https://nix-cache.s3.amazonaws.com/log/4k51i04xlbb69m1k3fa7qdk56qb7r74v-seexpr-2.11.drv

(though we're on 2.11, nobody's going to approve a bump to an equally broken version 3.0.1)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants