#60627 closed defect (fixed)
py38-pyqt5: error: object of type 'QSGGeometry' cannot be assigned because its copy assignment operator is implicitly deleted
Reported by: | dajare (David) | Owned by: | reneeotten (Renee Otten) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | michaelld (Michael Dickens), MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), dajare (David) | |
Port: | py-pyqt5 |
Description
"Command execution failed". The latter part of the log file reads:
:info:build Exit code: 2 :error:build Failed to build py38-pyqt5: command execution failed :debug:build Error code: CHILDSTATUS 8413 2 :debug:build Backtrace: command execution failed :debug:build while executing :debug:build "system {*}$notty {*}$nice $fullcmdstring" :debug:build invoked from within :debug:build "command_exec build" :debug:build (procedure "portbuild::build_main" line 8) :debug:build invoked from within :debug:build "$procedure $targetname" :error:build See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-pyqt5/py38-pyqt5/main.log for details.
I am attempting to install "treeline". This is the first time I have used MacPorts.
MacPorts v. 2.6.2; OS Mojave 10.14.6.
Attachments (1)
Change History (22)
comment:1 Changed 4 years ago by mf2k (Frank Schima)
comment:2 Changed 4 years ago by mf2k (Frank Schima)
Port: | py-pyqt5 added; treeline removed |
---|---|
Summary: | py38-pyqt5 - build failure → py38-pyqt5: build failure |
comment:3 follow-up: 4 Changed 4 years ago by mf2k (Frank Schima)
Resolution: | → invalid |
---|---|
Status: | new → closed |
Please attach the main.log
file after cleaning the port (sudo port clean py38-pyqt5
) and re-open the ticket. Without this log, we cannot diagnose the problem.
comment:4 Changed 4 years ago by dajare (David)
Replying to mf2k:
Please attach the
main.log
file after cleaning the port (sudo port clean py38-pyqt5
) and re-open the ticket. Without this log, we cannot diagnose the problem.
Thanks for the guidance. I've cleaned, attempted to install again, and attach the main.log
file, zipped as its 1.0Mb. Hope I've done this right.
Changed 4 years ago by dajare (David)
Attachment: | py38-pyqt5_main-log.zip added |
---|
py38-pyqt5/main.log
comment:5 Changed 4 years ago by dajare (David)
Resolution: | invalid |
---|---|
Status: | closed → reopened |
comment:6 Changed 4 years ago by mf2k (Frank Schima)
The error appears to be:
:info:build /Library/Developer/CommandLineTools/usr/bin/clang++ -c -pipe -stdlib=libc++ -Os -std=gnu++11 -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -mmacosx-version-min=10.14 -fno-exceptions -Wall -Wextra -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DPy_LIMITED_API=0x03040000 -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I. -I/opt/local/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -I../qpy/QtQuick -I/opt/local/libexec/qt5/lib/QtQuick.framework/Headers -I/opt/local/libexec/qt5/lib/QtGui.framework/Headers -I/opt/local/libexec/qt5/lib/QtQmlModels.framework/Headers -I/opt/local/libexec/qt5/lib/QtQml.framework/Headers -I/opt/local/libexec/qt5/lib/QtNetwork.framework/Headers -I/opt/local/libexec/qt5/lib/QtCore.framework/Headers -I. -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/AGL.framework/Headers -I/opt/local/libexec/qt5/mkspecs/macx-clang -F/opt/local/libexec/qt5/lib -o sipQtQuickQSGGeometryColoredPoint2D.o sipQtQuickQSGGeometryColoredPoint2D.cpp :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-pyqt5/py38-pyqt5/work/PyQt5-5.14.2/QtQuick/sipQtQuickQSGGeometry.cpp:940:59: error: object of type 'QSGGeometry' cannot be assigned because its copy assignment operator is implicitly deleted :info:build reinterpret_cast< ::QSGGeometry *>(sipDst)[sipDstIdx] = *reinterpret_cast< ::QSGGeometry *>(sipSrc); :info:build ^ :info:build /opt/local/libexec/qt5/lib/QtQuick.framework/Headers/qsggeometry.h:211:25: note: copy assignment operator of 'QSGGeometry' is implicitly deleted because field 'm_attributes' is of reference type 'const QSGGeometry::AttributeSet &' :info:build const AttributeSet &m_attributes; :info:build ^ :info:build 1 error generated.
comment:7 Changed 4 years ago by michaelld (Michael Dickens)
The issue here is that the new py-sip isn't compatible with this py-pyqt5. There is an updated py-pyqt5 that I'd guess is compatible; it claims to add compatibility with the current Qt 5.15.0 release. Here's a link to the announcement with download info: https://riverbankcomputing.com/news/PyQt_v5.15.0_Released .
comment:8 Changed 4 years ago by michaelld (Michael Dickens)
Or it might be that PyQt5 now requires its own SIP module; here's that announcement: https://riverbankcomputing.com/news/PyQt5-sip_v12.8.0_Released
comment:9 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Summary: | py38-pyqt5: build failure → py38-pyqt5: error: object of type 'QSGGeometry' cannot be assigned because its copy assignment operator is implicitly deleted |
---|
comment:10 Changed 4 years ago by reneeotten (Renee Otten)
I can look into updating the py-pyqt5
port, but in the past we typically would hold off until the qt5
is updated.
comment:11 Changed 4 years ago by michaelld (Michael Dickens)
I believe PyQt5 is backward compatible, so updating it now should be safe both for current Qt5 as well as the new Qt 5.15.
comment:12 Changed 4 years ago by mf2k (Frank Schima)
Cc: | michaelld added |
---|
comment:13 follow-up: 14 Changed 4 years ago by mf2k (Frank Schima)
@michaelld: Can you please update this soon? This port currently cannot be installed at all. Otherwise I think we need to revert py-sip.
comment:14 Changed 4 years ago by reneeotten (Renee Otten)
Owner: | set to reneeotten |
---|---|
Status: | reopened → accepted |
Replying to mf2k:
@michaelld: Can you please update this soon? This port currently cannot be installed at all. Otherwise I think we need to revert py-sip.
I will take a look at it now and put up a PR if it works. But please note that this port is openmaintainer so if you want something to be done quickly, you can always do it yourself.
comment:15 Changed 4 years ago by reneeotten (Renee Otten)
Cc: | MarcusCalhoun-Lopez added |
---|
so, just a simple update of the versions does allow me to build py38-pyqt5
, py38-pyqt5-chart
but not py38-pyqt5-webengine
.
The latter fails with:
QtWebEngineWidgets/sipQtWebEngineWidgetsQWebEngineCertificateError.cpp:372:99: error: no member named 'CertificateKnownInterceptionBlocked' in 'QWebEngineCertificateError'
which is because QWebEngineCertificateError::CertificateKnownInterceptionBlocked
is added in Qt 5.15.0.
So this will require an update of the Qt5
port first, before we can update py-pyqt5
and its subports.
comment:16 Changed 4 years ago by mf2k (Frank Schima)
@reneeotten: Thank you for looking into this. It's not clear to me what needs to happen now. Hopefully michaelld and MarcusCalhoun-Lopez can figure it out!
comment:17 Changed 4 years ago by dajare (David)
Cc: | dajare added |
---|
comment:18 Changed 4 years ago by reneeotten (Renee Otten)
the mailinglist suggest there is a patch to fix building of the latest PyQtWebengine with Qt 5.14.x - I'll try the patch and see if that indeed works.
comment:19 Changed 4 years ago by reneeotten (Renee Otten)
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
comment:20 Changed 4 years ago by dajare (David)
OP here. Even after a "clean" and then re-install, I got an error on py38-pyqt5
. So I "uninstall[ed] installed" as a 2.4.1 of the MacPorts guide, and tried again. And ... success! Thanks so much for attending to this bug so swiftly and successfully.
comment:21 Changed 4 years ago by klcooksey (Kathy Cooksey)
Linking this with Ticket 62009, comment3: I'm having issues with py37-pyqt5 on OSX 10.10.5. Does the fix reference in comment19 here apply to pre-py39-pyqt5 (which my Macports is the most recent and default installation when py-pyqt5 is requested). Mahalo.
In the future, please fill in the Port field with the port that fails to build