#70620 closed defect (fixed)
py*-pyqt6: Failed to Parse After Sync
Reported by: | RobK88 | Owned by: | reneeotten (Renee Otten) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.10.1 |
Keywords: | highsierra | Cc: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) |
Port: | py-pyqt6 |
Description
After the last sync on my old MacBook Pro running High Sierra, I see:
sudo port -v selfupdate .... Adding subport p5.30-parallel-forkmanager Adding subport p5.34-parallel-forkmanager Adding subport p5.32-parallel-forkmanager Failed to parse file python/py-pyqt6/Portfile with subport 'py39-pyqt6': can't read "qt6.version": can't read "qt_info()": no such element in array Failed to parse file python/py-pyqt6/Portfile with subport 'py310-pyqt6': can't read "qt6.version": can't read "qt_info()": no such element in array Failed to parse file python/py-pyqt6/Portfile with subport 'py311-pyqt6': can't read "qt6.version": can't read "qt_info()": no such element in array Failed to parse file python/py-pyqt6/Portfile with subport 'py312-pyqt6': can't read "qt6.version": can't read "qt_info()": no such element in array Total number of ports parsed: 577 Ports successfully parsed: 573 Ports failed: 4 Up-to-date ports skipped: 38939 The ports tree has been updated. 1 port is outdated. Run 'port outdated' for details. To upgrade your installed ports, you should run port upgrade outdated bash-3.2$
Change History (6)
comment:1 Changed 3 months ago by jmroot (Joshua Root)
Cc: | reneeotten removed |
---|---|
Owner: | set to reneeotten |
Status: | new → assigned |
Summary: | Failed to Parse Files After Sync → py*-pyqt6: Failed to Parse After Sync |
comment:2 Changed 3 months ago by jmroot (Joshua Root)
Cc: | MarcusCalhoun-Lopez added |
---|
comment:3 Changed 3 months ago by reneeotten (Renee Otten)
I guess the issue is in the qt6_info-1.0.tcl
PortGroup, more precisely in this function:
89 proc qt6::version {} { 90 array set qt_info [list {*}${qt6::available_versions}] 91 return [lindex $qt_info([option qt6.base]) 0]
It's due to the fact that on systems older than macOS 10.15 there is no version of Qt 6 that will work and thus ${qt6::available_versions
} is probably empty and making an array and extracting a value doesn't work. Unfortunately, I cannot reproduce/troubleshoot this easily since I don't have an macOS version where this issue manifests itself and my Tcl knowledge isn't sufficient to easily see how/where to resolve this. So I don't think I'll make progress on this anytime soon - fortunately it isn't a fatal issue; the port just doesn't parse for you but it would never install anything on these old systems anyway.
comment:4 Changed 3 months ago by jmroot (Joshua Root)
You should just need to add a check that the array element in question exists, i.e. [info exists qt_info([option qt6.base])]
, and do something reasonable like returning an empty list otherwise.
comment:5 Changed 3 months ago by reneeotten (Renee Otten)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Looks like it's probably a qt6 portgroup issue.