Opened 10 months ago

Closed 2 months ago

#56601 closed defect (fixed)

py36-pyqt5: QtCore/sipQtCoreQByteArray.cpp:2263:48: error: no member named 'chopped' in 'QByteArray'

Reported by: wa03 (Josh Lawrence) Owned by: mamoll (Mark Moll)
Priority: Normal Milestone:
Component: ports Version: 2.5.0
Keywords: yosemite Cc: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Port: py36-pyqt5

Description (last modified by wa03 (Josh Lawrence))

Hello,

After upgrading to MacPorts version 2.5.0, I encountered an error when running sudo port upgrade outdated.

I receive the following output:

sudo port rev-upgrade
--->  Scanning binaries for linking errors
--->  Found 146 broken files, matching files to ports    
--->  Found 2 broken ports, determining rebuild order
You can always run 'port rev-upgrade' again to fix errors.
The following ports will be rebuilt:
 py36-pyqt5 @5.10.1
 qbs @1.11.0
Continue? [Y/n]: 
--->  Computing dependencies for py36-pyqt5
--->  Cleaning py36-pyqt5
--->  Computing dependencies for qbs
--->  Cleaning qbs
--->  Scanning binaries for linking errors
--->  Found 146 broken files, matching files to ports    
--->  Found 2 broken ports, determining rebuild order
--->  Rebuilding in order
     py36-pyqt5 @5.10.1 
     qbs @1.11.0 
--->  Computing dependencies for py36-pyqt5
--->  Fetching distfiles for py36-pyqt5
--->  Verifying checksums for py36-pyqt5
--->  Extracting py36-pyqt5
--->  Applying patches to py36-pyqt5
--->  Configuring py36-pyqt5
Warning: Qt dependency is not the latest version but may be the latest supported on your OS
--->  Building py36-pyqt5
Error: Failed to build py36-pyqt5: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-pyqt5/py36-pyqt5/main.log for details.
Error: rev-upgrade failed: Error rebuilding py36-pyqt5
Error: Follow https://guide.macports.org/#project.tickets to report a bug.

Attached is the log file referenced (/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-pyqt5/py36-pyqt5/main.log)

EDIT: I tried sudo port revupgrade, sudo port clean py36-pyqt5, etc. before posting the bug.

Also, this is my first bug post, so please let me know if I left any information out.

Attachments (1)

main.log (117.4 KB) - added by wa03 (Josh Lawrence) 10 months ago.
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-pyqt5/py36-pyqt5/main.log

Download all attachments as: .zip

Change History (12)

Changed 10 months ago by wa03 (Josh Lawrence)

Attachment: main.log added

/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-pyqt5/py36-pyqt5/main.log

comment:1 Changed 10 months ago by wa03 (Josh Lawrence)

Description: modified (diff)

comment:2 Changed 10 months ago by wa03 (Josh Lawrence)

I could not figure out how to Modify the ticket to CC: the maintainer after creation. sudo port info --maintainers py36-pyqt5 lists mmoll@… as the maintainer.

comment:3 Changed 10 months ago by ryandesign (Ryan Schmidt)

Owner: set to mamoll
Status: newassigned
Summary: py36-pyqt5 Failed to buildpy36-pyqt5: QtCore/sipQtCoreQByteArray.cpp:2263:48: error: no member named 'chopped' in 'QByteArray'

It looks like the problem is that you are on Yosemite, on which the latest version of Qt is 5.9.x. According to this Gentoo forum post, QByteArray did not get chopped until Qt 5.10. So this port is incompatible with Qt 5.9.x and earlier and therefore incompatible with Yosemite and earlier.

comment:4 Changed 10 months ago by wa03 (Josh Lawrence)

Interestingly enough, when upgrading to the last MacPorts 2.4.x, qt5 version 5.10 was installed. But when upgrading to MacPorts 2.5.0, it uninstalled all the Qt 5.10 libraries and installed the port qt59. I doesn't really matter to me what version is installed as long as port upgrade outdated works.

comment:5 Changed 9 months ago by wa03 (Josh Lawrence)

As an FYI, apparently MacPorts Base 2.5.2 upgraded py35-qt5 to depend on/use Qt 5.10 as well. Is there a variant to "pin" Qt at 5.9 or for Yosemite?

comment:6 Changed 9 months ago by mamoll (Mark Moll)

Resolution: fixed
Status: assignedclosed

In ae982dfff7e0e87b9fe9f7afd3aed021aa855254/macports-ports (master):

py-pyqt5: pin version to 5.9.2 on Yosemite and older. Closes #56601

comment:7 Changed 8 months ago by Ionic (Mihai Moldovan)

Resolution: fixed
Status: closedreopened

Users (like me) on 10.10- might have already had py*-pyqt5 5.10_0 installed. If you pin versions retrospectively *and* downgrade the package due to this, you will also need to increase the epoch to force an upgrade to the older version.

This said, on 10.9 (Darwin 13), Qt 5.8 is the latest supported version (and the Qt5 PortGroup pins to that). py35-pyqt5 5.10 seems to have compiled fine with this combination, so why would you revert to 5.9.2? I suppose it should be pinned to 5.10 instead?

Reopening.

Last edited 8 months ago by Ionic (Mihai Moldovan) (previous) (diff)

comment:8 Changed 3 months ago by RJVB (René Bertin)

In reply to Mihai's question: contrary to what one might think, py-qt5 5.x doesn't require Qt 5.x or better. This is something that the authors told me they support explicitly and I just confirmed it for PyQt5 5.11.3 and Qt 5.9.5 *). See https://pyqt.readthedocs.io/en/latest/introduction.html#an-explanation-of-version-numbers

In other words, there should be no need to peg older OS versions for Qt compatibility reasons, at least not 10.9 and up. If build errors do occur there they should be investigated and reported to Riverbank Computing.

*) this on 10.9.5 with my own port:qt5-kde which is reintroduces the "legacy" code that was stripped from Qt 5.9 ; pyqt5 thus doesn't have anything itself that fails to build on 10.9 .

comment:9 Changed 2 months ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

#56990 is a duplicate of this issue.

comment:10 Changed 2 months ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Cc: MarcusCalhoun-Lopez added

comment:11 Changed 2 months ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: reopenedclosed

This issue seems to have been fixed.
The build succeeds on 10.11.

Note: See TracTickets for help on using tickets.