Opened 8 years ago
Closed 8 years ago
#53200 closed defect (fixed)
py35-pyqt5 does not build with sip 4.19
Reported by: | dmarteau (David Marteau) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | mmoll@…, mkae (Marko Käning), jjstickel (Jonathan Stickel), michaelld (Michael Dickens), MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) | |
Port: | py-pyqt5 |
Description
py35-pyqt5 fail to build weth the following error:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -fno-exceptions -O2 -std=gnu++11 -isysroot /Applications/Xcode.app/Contents/Developer /Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -mmacosx-version-min=10.9 -Wall -W -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_DEBUG -DQT_PLUGIN -DQT_CORE_LIB -I. -I. -I/opt /local/Library/Frameworks/Python.framework/Versions/3.5/include/python3.5m -I../qpy/QtCore -I/opt/local /libexec/qt5/lib/QtCore.framework/Headers -I. -I/opt/local/libexec/qt5/mkspecs/macx-clang -F/opt/local /libexec/qt5/lib -o qpycore_enums_flags.o ../qpy/QtCore/qpycore_enums_flags.cpp ../qpy/QtCore/qpycore_chimera.cpp:477:24: error: use of undeclared identifier 'pyqt5ClassTypeDef' _is_qflags = ((pyqt5ClassTypeDef *)_type)->flags & 0x01; ^ ../qpy/QtCore/qpycore_chimera.cpp:477:43: error: expected expression _is_qflags = ((pyqt5ClassTypeDef *)_type)->flags & 0x01;
The file sip.h that come with sip 4.19 does not contain the pyqt5ClassTypeDef definition: would it be the problem ?
OSX version: 10.9 (Maverick) XCode version: 6.2
Attachments (1)
Change History (18)
comment:1 Changed 8 years ago by mkae (Marko Käning)
Cc: | mkae added |
---|
comment:2 Changed 8 years ago by mkae (Marko Käning)
Version: | 2.3.5 |
---|
comment:3 Changed 8 years ago by dmarteau (David Marteau)
comment:4 Changed 8 years ago by dmarteau (David Marteau)
Note that Reinstalling py-sip @4.18.1_0 fix the problem.
comment:5 Changed 8 years ago by jjstickel (Jonathan Stickel)
Cc: | jjstickel added |
---|
comment:6 Changed 8 years ago by michaelld (Michael Dickens)
Guessing that this ticket is a duplicate of #53197, and thus it should be fixed now. Please do:
sudo port selfupdate
and verify that this is indeed the case.
comment:7 Changed 8 years ago by michaelld (Michael Dickens)
Cc: | michaelld added |
---|
comment:8 Changed 8 years ago by jjstickel (Jonathan Stickel)
It looks like it proceeds further, but I still get errors (during build phase):
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_sea.us.rsync.macports.org_release_tarballs_ports_python_py-pyqt5/py35-pyqt5/work/PyQt5_gpl-5.7.1/QtWebEngine/sipQtWebEngineQQuickWebEngineProfile.cpp:982:21: error: no member named 'clearHttpCache' in 'QQuickWebEngineProfile' :info:build sipCpp->clearHttpCache(); :info:build ~~~~~~ ^ :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_sea.us.rsync.macports.org_release_tarballs_ports_python_py-pyqt5/py35-pyqt5/work/PyQt5_gpl-5.7.1/QtWebEngine/sipQtWebEngineQQuickWebEngineProfile.cpp:1125:67: error: no member named 'NoCache' in 'QQuickWebEngineProfile' :info:build {sipName_NoCache, static_cast<int>( ::QQuickWebEngineProfile::NoCache), 1}, :info:build ~~~~~~~~~~~~~~~~~~~~~~~~~~^ :info:build 2 errors generated.
I am using the webengine variant (needed for py35-spyder-devel), so maybe that is why this wasn't caught with the referenced patch. Let me know if I should open a separate ticket for this case.
comment:9 follow-up: 11 Changed 8 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
clearHttpCache and NoCache were introduced in Qt 5.7, which is not yet port of MacPorts.
This would seem to be a different error.
comment:10 Changed 8 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Cc: | MarcusCalhoun-Lopez added |
---|
comment:11 Changed 8 years ago by jjstickel (Jonathan Stickel)
Replying to MarcusCalhoun-Lopez:
clearHttpCache and NoCache were introduced in Qt 5.7, which is not yet port of MacPorts.
This would seem to be a different error.
I don't understand all the details, but I think the "fix" discussed on #53197 was to update py-pyqt5 to 5.7, even though qt5 is still at 5.6. Looks like the doesn't quite work all the way.
comment:12 follow-up: 13 Changed 8 years ago by RJVB (René Bertin)
Jonathan, is what you report in comment:8 the only failure? If so, you should probably report it upstream, because PyQt 5.7 is supposed to build against Qt 5.6 and thus shouldn't use clearHttpCache() and NoCache() unconditionally.
Note however that it *is* possible to build QtWebEngine 5.7.1 against Qt 5.6. I've been using such a set-up for a while, and it works, probably because QWE's complexity is in the Chromium engine, not in the Qt wrapper around it.
comment:13 Changed 8 years ago by jjstickel (Jonathan Stickel)
Changed 8 years ago by jjstickel (Jonathan Stickel)
build failure 17-01-05
comment:14 Changed 8 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
comment:15 Changed 8 years ago by RJVB (René Bertin)
I have made upstream aware of the patch, thanks.
comment:17 Changed 8 years ago by mamoll (Mark Moll)
Resolution: | → fixed |
---|---|
Status: | new → closed |
pyqt5ClassTypeDef has been renamed to pyqt5ClassPluginDef:
see https://riverbankcomputing.com/hg/sip/diff/a0fcb2bc14ca/siplib/sip.h.in.in