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

Python bindings incompatible with sip 4.19+ #606

Closed
tkemmer opened this Issue Mar 18, 2017 · 3 comments

Comments

Projects
None yet
3 participants
@tkemmer
Contributor

tkemmer commented Mar 18, 2017

Since sip 4.19, the BALLCoremodule target fails with

sip: File::CannotWrite has not been defined
make[3]: *** [source/PYTHON/EXTENSIONS/CMakeFiles/BALLCoremodule.dir/build.make:310: source/PYTHON/EXTENSIONS/BALLCoremodule/sipBALLCorepart0.cpp] Error 1

After removing all throw(File::CannotWrite) declarations from the sip files (or replacing them by throw(), the code can be successfully generated. However, compilation still fails with thousands of error messages in the form of

build/source/PYTHON/EXTENSIONS/BALLCoremodule/sipAPIBALLCore.h:4977:39: error: ‘sipExportedExceptions_BALLCore’ was not declared in this scope                                                                                                                                                        
     #define sipException_GeneralException sipExportedExceptions_BALLCore[0]

source/PYTHON/EXTENSIONS/BALL/exception.sip:19:21: note: in expansion of macro ‘sipException_GeneralException’
     PyErr_SetString(sipException_GeneralException, detail.c_str())

for all BALL exceptions.

Possible hints:
http://pyqt.sourceforge.net/Docs/sip4/incompatibilities.html#sip-v4-19

@mitya57

This comment has been minimized.

Show comment
Hide comment
@mitya57

mitya57 May 12, 2017

If you seek help with porting to new SIP, I suggest you to ask for it on the PyQt mailing list. Phil and other people there are usually very responsive.

Because of this issue I cannot proceed with transition to new SIP in Ubuntu 17.10.

mitya57 commented May 12, 2017

If you seek help with porting to new SIP, I suggest you to ask for it on the PyQt mailing list. Phil and other people there are usually very responsive.

Because of this issue I cannot proceed with transition to new SIP in Ubuntu 17.10.

@azerbe

This comment has been minimized.

Show comment
Hide comment
@azerbe

azerbe Jun 26, 2017

Same error for the VIEWModule
sip: File::CannotWrite has not been defined make[2]: *** [source/PYTHON/EXTENSIONS/CMakeFiles/VIEWmodule.dir/build.make:310: source/PYTHON/EXTENSIONS/VIEWmodule/sipVIEWpart0.cpp] Fehler 1 make[2]: *** Datei „source/PYTHON/EXTENSIONS/VIEWmodule/sipVIEWpart0.cpp“ wird gelöscht make[1]: *** [CMakeFiles/Makefile2:7153: source/PYTHON/EXTENSIONS/CMakeFiles/VIEWmodule.dir/all] Fehler 2

azerbe commented Jun 26, 2017

Same error for the VIEWModule
sip: File::CannotWrite has not been defined make[2]: *** [source/PYTHON/EXTENSIONS/CMakeFiles/VIEWmodule.dir/build.make:310: source/PYTHON/EXTENSIONS/VIEWmodule/sipVIEWpart0.cpp] Fehler 1 make[2]: *** Datei „source/PYTHON/EXTENSIONS/VIEWmodule/sipVIEWpart0.cpp“ wird gelöscht make[1]: *** [CMakeFiles/Makefile2:7153: source/PYTHON/EXTENSIONS/CMakeFiles/VIEWmodule.dir/all] Fehler 2

@tkemmer

This comment has been minimized.

Show comment
Hide comment
@tkemmer

tkemmer Jul 27, 2017

Contributor

The second set of errors (‘sipExportedExceptions_BALLCore’ was not declared in this scope) is actually an upstream bug in sip versions 4.19.{0,1,2} and has been fixed in 4.19.3.

Contributor

tkemmer commented Jul 27, 2017

The second set of errors (‘sipExportedExceptions_BALLCore’ was not declared in this scope) is actually an upstream bug in sip versions 4.19.{0,1,2} and has been fixed in 4.19.3.

tkemmer added a commit that referenced this issue Jul 27, 2017

tkemmer added a commit that referenced this issue Jul 27, 2017

[BALL] Fix incorrect inheritance of PTE_ and Element Python bindings
PTE_ and Element are not derived from PropertyManager anymore since
0d47373. This prevents the BALLCore
module from being built using sip 4.19+ (partly fixes #606).

tkemmer added a commit that referenced this issue Jul 27, 2017

[BALL] Fix incorrect inheritance of Vector3 Python bindings
Vector3 is not derived from PersistentObject, preventing the BALLCore
module from being built using sip 4.19+ (partially fixes #606).

tkemmer added a commit that referenced this issue Jul 27, 2017

[BALL] Fix Python bindings for UnaryProcessor derivatives
Many sip classes have used incorrect base classes, preventing the BALLCore
module from being built with sip 4.19+ (partially fixes #606).

tkemmer added a commit that referenced this issue Jul 28, 2017

[VIEW] Fix: explicitly request sip types from BALLCore module
Since sip 4.19, sip-generated types are not automatically available to
handwritten code (closes #606).

@tkemmer tkemmer closed this in a575479 Aug 1, 2017

tkemmer added a commit that referenced this issue Aug 1, 2017

[BALL] Fix incorrect inheritance of PTE_ and Element Python bindings
PTE_ and Element are not derived from PropertyManager anymore since
0d47373. This prevents the BALLCore
module from being built using sip 4.19+ (partly fixes #606).

tkemmer added a commit that referenced this issue Aug 1, 2017

[BALL] Fix incorrect inheritance of Vector3 Python bindings
Vector3 is not derived from PersistentObject, preventing the BALLCore
module from being built using sip 4.19+ (partially fixes #606).

tkemmer added a commit that referenced this issue Aug 1, 2017

[BALL] Fix Python bindings for UnaryProcessor derivatives
Many sip classes have used incorrect base classes, preventing the BALLCore
module from being built with sip 4.19+ (partially fixes #606).

tkemmer added a commit that referenced this issue Aug 1, 2017

[VIEW] Fix: explicitly request sip types from BALLCore module
Since sip 4.19, sip-generated types are not automatically available to
handwritten code (closes #606).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment