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

Compile errors building on RockyLinux 8 (gcc 8.5 / sip 4.19.24) #7

Open
birkenfeld opened this issue May 18, 2022 · 3 comments
Open

Comments

@birkenfeld
Copy link

With the submodule revision included from esrf-bliss/Lima master:

[  118s] /home/abuild/rpmbuild/BUILD/Lima-1.9.16/build/camera/andor/sip/siplimaandorpart1.cpp: In function 'void assign_Andor_Interface(void*, Py_ssize_t, void*)':
[  118s] /home/abuild/rpmbuild/BUILD/Lima-1.9.16/build/camera/andor/sip/siplimaandorpart1.cpp:2237:113: error: use of deleted function 'lima::Andor::Interface& lima::Andor::Interface::operator=(const lima::Andor::Interface&)'
[  118s]      reinterpret_cast< ::Andor::Interface *>(sipDst)[sipDstIdx] = *reinterpret_cast< ::Andor::Interface *>(sipSrc);
[  118s]                                                                                                                  ^
[  118s] In file included from /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/sip/AndorInterface.sip:6:
[  118s] /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorInterface.h:47:21: note: 'lima::Andor::Interface& lima::Andor::Interface::operator=(const lima::Andor::Interface&)' is implicitly deleted because the default definition would be ill-formed:
[  118s]   class ANDOR_EXPORT Interface : public HwInterface
[  118s]                      ^~~~~~~~~
[  118s] /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorInterface.h:47:21: error: non-static reference member 'lima::Andor::Camera& lima::Andor::Interface::m_cam', can't use default assignment operator
[  118s] /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorInterface.h:47:21: error: use of deleted function 'lima::Andor::DetInfoCtrlObj& lima::Andor::DetInfoCtrlObj::operator=(const lima::Andor::DetInfoCtrlObj&)'
[  118s] In file included from /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorInterface.h:29,
[  118s]                  from /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/sip/AndorInterface.sip:6:
[  118s] /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorDetInfoCtrlObj.h:40:21: note: 'lima::Andor::DetInfoCtrlObj& lima::Andor::DetInfoCtrlObj::operator=(const lima::Andor::DetInfoCtrlObj&)' is implicitly deleted because the default definition would be ill-formed:
[  118s]   class ANDOR_EXPORT DetInfoCtrlObj : public HwDetInfoCtrlObj
[  118s]                      ^~~~~~~~~~~~~~
[  118s] /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorDetInfoCtrlObj.h:40:21: error: non-static reference member 'lima::Andor::Camera& lima::Andor::DetInfoCtrlObj::m_cam', can't use default assignment operator
[  118s] In file included from /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/sip/AndorInterface.sip:6:
[  118s] /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorInterface.h:47:21: error: use of deleted function 'lima::Andor::SyncCtrlObj& lima::Andor::SyncCtrlObj::operator=(const lima::Andor::SyncCtrlObj&)'
[  118s]   class ANDOR_EXPORT Interface : public HwInterface
[  118s]                      ^~~~~~~~~
[  118s] In file included from /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorInterface.h:30,
[  118s]                  from /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/sip/AndorInterface.sip:6:
[  118s] /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorSyncCtrlObj.h:41:21: note: 'lima::Andor::SyncCtrlObj& lima::Andor::SyncCtrlObj::operator=(const lima::Andor::SyncCtrlObj&)' is implicitly deleted because the default definition would be ill-formed:
[  118s]   class ANDOR_EXPORT SyncCtrlObj : public HwSyncCtrlObj
[  118s]                      ^~~~~~~~~~~
[  118s] /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorSyncCtrlObj.h:41:21: error: non-static reference member 'lima::Andor::Camera& lima::Andor::SyncCtrlObj::m_cam', can't use default assignment operator
[  118s] In file included from /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/sip/AndorInterface.sip:6:
[  118s] /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorInterface.h:47:21: error: use of deleted function 'lima::Andor::BinCtrlObj& lima::Andor::BinCtrlObj::operator=(const lima::Andor::BinCtrlObj&)'
[  118s]   class ANDOR_EXPORT Interface : public HwInterface
[  118s]                      ^~~~~~~~~
[  118s] In file included from /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorInterface.h:32,
[  118s]                  from /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/sip/AndorInterface.sip:6:
[  118s] /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorBinCtrlObj.h:39:21: note: 'lima::Andor::BinCtrlObj& lima::Andor::BinCtrlObj::operator=(const lima::Andor::BinCtrlObj&)' is implicitly deleted because the default definition would be ill-formed:
[  118s]   class ANDOR_EXPORT BinCtrlObj : public HwBinCtrlObj
[  118s]                      ^~~~~~~~~~
[  118s] /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorBinCtrlObj.h:39:21: error: non-static reference member 'lima::Andor::Camera& lima::Andor::BinCtrlObj::m_cam', can't use default assignment operator
[  118s] In file included from /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/sip/AndorInterface.sip:6:
[  118s] /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorInterface.h:47:21: error: use of deleted function 'lima::Andor::RoiCtrlObj& lima::Andor::RoiCtrlObj::operator=(const lima::Andor::RoiCtrlObj&)'
[  118s]   class ANDOR_EXPORT Interface : public HwInterface
[  118s]                      ^~~~~~~~~
[  118s] In file included from /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorInterface.h:33,
[  118s]                  from /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/sip/AndorInterface.sip:6:
[  118s] /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorRoiCtrlObj.h:41:21: note: 'lima::Andor::RoiCtrlObj& lima::Andor::RoiCtrlObj::operator=(const lima::Andor::RoiCtrlObj&)' is implicitly deleted because the default definition would be ill-formed:
[  118s]   class ANDOR_EXPORT RoiCtrlObj : public HwRoiCtrlObj
[  118s]                      ^~~~~~~~~~
[  118s] /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorRoiCtrlObj.h:41:21: error: non-static reference member 'lima::Andor::Camera& lima::Andor::RoiCtrlObj::m_cam', can't use default assignment operator
[  118s] In file included from /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/sip/AndorInterface.sip:6:
[  118s] /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorInterface.h:47:21: error: use of deleted function 'lima::Andor::ShutterCtrlObj& lima::Andor::ShutterCtrlObj::operator=(const lima::Andor::ShutterCtrlObj&)'
[  118s]   class ANDOR_EXPORT Interface : public HwInterface
[  118s]                      ^~~~~~~~~
[  118s] In file included from /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorInterface.h:31,
[  118s]                  from /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/sip/AndorInterface.sip:6:
[  118s] /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorShutterCtrlObj.h:40:21: note: 'lima::Andor::ShutterCtrlObj& lima::Andor::ShutterCtrlObj::operator=(const lima::Andor::ShutterCtrlObj&)' is implicitly deleted because the default definition would be ill-formed:
[  118s]   class ANDOR_EXPORT ShutterCtrlObj : public HwShutterCtrlObj
[  118s]                      ^~~~~~~~~~~~~~
[  118s] /home/abuild/rpmbuild/BUILD/Lima-1.9.16/camera/andor/include/AndorShutterCtrlObj.h:40:21: error: non-static reference member 'lima::Andor::Camera& lima::Andor::ShutterCtrlObj::m_cam', can't use default assignment operator
[  118s] gmake[2]: *** [camera/andor/CMakeFiles/python_module_limaandor.dir/build.make:144: camera/andor/CMakeFiles/python_module_limaandor.dir/sip/siplimaandorpart1.cpp.o] Error 1
[  118s] gmake[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/Lima-1.9.16/build'
[  118s] gmake[1]: *** [CMakeFiles/Makefile2:343: camera/andor/CMakeFiles/python_module_limaandor.dir/all] Error 2
[  118s] gmake[1]: *** Waiting for unfinished jobs....
@birkenfeld
Copy link
Author

Current state with RHEL/Rocky 8.6:

[   56s] /home/abuild/rpmbuild/BUILD/Lima/build/camera/andor/sip/siplimaandorpart1.cpp: In function 'void assign_Andor_Interface(void*, Py_ssize_t, void*)':
[   56s] /home/abuild/rpmbuild/BUILD/Lima/build/camera/andor/sip/siplimaandorpart1.cpp:2237:113: error: use of deleted function 'lima::Andor::Interface& lima::Andor::Interface::operator=(const lima::Andor::Interface&)'
[   56s]      reinterpret_cast< ::Andor::Interface *>(sipDst)[sipDstIdx] = *reinterpret_cast< ::Andor::Interface *>(sipSrc);
[   56s]                                                                                                                  ^
[   56s] In file included from /home/abuild/rpmbuild/BUILD/Lima/camera/andor/sip/AndorInterface.sip:6:
[   56s] /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorInterface.h:47:21: note: 'lima::Andor::Interface& lima::Andor::Interface::operator=(const lima::Andor::Interface&)' is implicitly deleted because the default definition would be ill-formed:
[   56s]   class ANDOR_EXPORT Interface : public HwInterface
[   56s]                      ^~~~~~~~~
[   56s] /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorInterface.h:47:21: error: non-static reference member 'lima::Andor::Camera& lima::Andor::Interface::m_cam', can't use default assignment operator
[   56s] /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorInterface.h:47:21: error: use of deleted function 'lima::Andor::DetInfoCtrlObj& lima::Andor::DetInfoCtrlObj::operator=(const lima::Andor::DetInfoCtrlObj&)'
[   56s] In file included from /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorInterface.h:29,
[   56s]                  from /home/abuild/rpmbuild/BUILD/Lima/camera/andor/sip/AndorInterface.sip:6:
[   56s] /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorDetInfoCtrlObj.h:40:21: note: 'lima::Andor::DetInfoCtrlObj& lima::Andor::DetInfoCtrlObj::operator=(const lima::Andor::DetInfoCtrlObj&)' is implicitly deleted because the default definition would be ill-formed:
[   56s]   class ANDOR_EXPORT DetInfoCtrlObj : public HwDetInfoCtrlObj
[   56s]                      ^~~~~~~~~~~~~~
[   56s] /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorDetInfoCtrlObj.h:40:21: error: non-static reference member 'lima::Andor::Camera& lima::Andor::DetInfoCtrlObj::m_cam', can't use default assignment operator
[   56s] In file included from /home/abuild/rpmbuild/BUILD/Lima/camera/andor/sip/AndorInterface.sip:6:
[   56s] /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorInterface.h:47:21: error: use of deleted function 'lima::Andor::SyncCtrlObj& lima::Andor::SyncCtrlObj::operator=(const lima::Andor::SyncCtrlObj&)'
[   56s]   class ANDOR_EXPORT Interface : public HwInterface
[   56s]                      ^~~~~~~~~
[   56s] In file included from /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorInterface.h:30,
[   56s]                  from /home/abuild/rpmbuild/BUILD/Lima/camera/andor/sip/AndorInterface.sip:6:
[   56s] /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorSyncCtrlObj.h:41:21: note: 'lima::Andor::SyncCtrlObj& lima::Andor::SyncCtrlObj::operator=(const lima::Andor::SyncCtrlObj&)' is implicitly deleted because the default definition would be ill-formed:
[   56s]   class ANDOR_EXPORT SyncCtrlObj : public HwSyncCtrlObj
[   56s]                      ^~~~~~~~~~~
[   56s] /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorSyncCtrlObj.h:41:21: error: non-static reference member 'lima::Andor::Camera& lima::Andor::SyncCtrlObj::m_cam', can't use default assignment operator
[   56s] In file included from /home/abuild/rpmbuild/BUILD/Lima/camera/andor/sip/AndorInterface.sip:6:
[   56s] /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorInterface.h:47:21: error: use of deleted function 'lima::Andor::BinCtrlObj& lima::Andor::BinCtrlObj::operator=(const lima::Andor::BinCtrlObj&)'
[   56s]   class ANDOR_EXPORT Interface : public HwInterface
[   56s]                      ^~~~~~~~~
[   56s] In file included from /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorInterface.h:32,
[   56s]                  from /home/abuild/rpmbuild/BUILD/Lima/camera/andor/sip/AndorInterface.sip:6:
[   56s] /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorBinCtrlObj.h:39:21: note: 'lima::Andor::BinCtrlObj& lima::Andor::BinCtrlObj::operator=(const lima::Andor::BinCtrlObj&)' is implicitly deleted because the default definition would be ill-formed:
[   56s]   class ANDOR_EXPORT BinCtrlObj : public HwBinCtrlObj
[   56s]                      ^~~~~~~~~~
[   56s] /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorBinCtrlObj.h:39:21: error: non-static reference member 'lima::Andor::Camera& lima::Andor::BinCtrlObj::m_cam', can't use default assignment operator
[   56s] In file included from /home/abuild/rpmbuild/BUILD/Lima/camera/andor/sip/AndorInterface.sip:6:
[   56s] /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorInterface.h:47:21: error: use of deleted function 'lima::Andor::RoiCtrlObj& lima::Andor::RoiCtrlObj::operator=(const lima::Andor::RoiCtrlObj&)'
[   56s]   class ANDOR_EXPORT Interface : public HwInterface
[   56s]                      ^~~~~~~~~
[   56s] In file included from /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorInterface.h:33,
[   56s]                  from /home/abuild/rpmbuild/BUILD/Lima/camera/andor/sip/AndorInterface.sip:6:
[   56s] /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorRoiCtrlObj.h:41:21: note: 'lima::Andor::RoiCtrlObj& lima::Andor::RoiCtrlObj::operator=(const lima::Andor::RoiCtrlObj&)' is implicitly deleted because the default definition would be ill-formed:
[   56s]   class ANDOR_EXPORT RoiCtrlObj : public HwRoiCtrlObj
[   56s]                      ^~~~~~~~~~
[   56s] /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorRoiCtrlObj.h:41:21: error: non-static reference member 'lima::Andor::Camera& lima::Andor::RoiCtrlObj::m_cam', can't use default assignment operator
[   56s] In file included from /home/abuild/rpmbuild/BUILD/Lima/camera/andor/sip/AndorInterface.sip:6:
[   56s] /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorInterface.h:47:21: error: use of deleted function 'lima::Andor::ShutterCtrlObj& lima::Andor::ShutterCtrlObj::operator=(const lima::Andor::ShutterCtrlObj&)'
[   56s]   class ANDOR_EXPORT Interface : public HwInterface
[   56s]                      ^~~~~~~~~
[   56s] In file included from /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorInterface.h:31,
[   56s]                  from /home/abuild/rpmbuild/BUILD/Lima/camera/andor/sip/AndorInterface.sip:6:
[   56s] /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorShutterCtrlObj.h:40:21: note: 'lima::Andor::ShutterCtrlObj& lima::Andor::ShutterCtrlObj::operator=(const lima::Andor::ShutterCtrlObj&)' is implicitly deleted because the default definition would be ill-formed:
[   56s]   class ANDOR_EXPORT ShutterCtrlObj : public HwShutterCtrlObj
[   56s]                      ^~~~~~~~~~~~~~
[   56s] /home/abuild/rpmbuild/BUILD/Lima/camera/andor/include/AndorShutterCtrlObj.h:40:21: error: non-static reference member 'lima::Andor::Camera& lima::Andor::ShutterCtrlObj::m_cam', can't use default assignment operator
[   56s] make[2]: *** [camera/andor/CMakeFiles/python_module_limaandor.dir/build.make:144: camera/andor/CMakeFiles/python_module_limaandor.dir/sip/siplimaandorpart1.cpp.o] Error 1

@laurent-claustre
Copy link
Contributor

with newer sip, a private ctor by copy is mendatory in .sip file for both Camera and Interface classes.

---------------------------- sip/AndorInterface.sip ----------------------------
index 85a1285..1821551 100755
@@ -51,5 +51,8 @@ namespace Andor
void getFanMode(Andor::FanMode& mode /Out/);
void setBaselineClamp(Andor::BaselineClamp mode);
void getBaselineClamp(Andor::BaselineClamp& mode /Out/);
+

  • private:
  • Interface(const Andor::Interface&);
    };

@birkenfeld
Copy link
Author

Thanks for the patch! With this I could build the Andor plugin successfully.

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

2 participants