#65751 closed defect (fixed)
qt5-qtbase: Unable to open port: can't read "qt_qmake_spec": no such variable
Reported by: | mf2k (Frank Schima) | Owned by: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.99 |
Keywords: | Cc: | mascguy (Christopher Nielsen), chrstphrchvz (Christopher Chavez) | |
Port: | qt5-qtbase |
Description
$ port info qt5-qtbase Error: Unable to open port: can't read "qt_qmake_spec": no such variable
Change History (16)
comment:1 Changed 20 months ago by mf2k (Frank Schima)
comment:2 Changed 20 months ago by mf2k (Frank Schima)
Version: | → 2.7.99 |
---|
comment:3 Changed 20 months ago by mascguy (Christopher Nielsen)
Works fine for me, on 10.15. Which macOS release are you testing on Frank?
comment:4 Changed 20 months ago by mascguy (Christopher Nielsen)
Cc: | mascguy added |
---|
comment:5 Changed 20 months ago by mascguy (Christopher Nielsen)
Cc: | chrstphrchvz added |
---|
Adding @chrstphrchvz as well
comment:7 Changed 20 months ago by mascguy (Christopher Nielsen)
In addition to 10.15, just tested on Big Sur and Monterey. And both of the latter are fine too.
Do you have any local portfile modifications in play? I'd also be interested in the output from port -d info qt5-qtbase
, as that might help pinpoint where the failure is occurring.
Big Sur:
$ sw_vers ProductName: macOS ProductVersion: 11.6.8 BuildVersion: 20G730 $ port info qt5-qtbase qt5-qtbase @5.15.5 (aqua) Variants: debug, examples, [+]openssl, tests, universal Description: Tools and Module(s) for Qt Tool Kit 5: Qt Core, Qt GUI, Qt Network, Qt SQL, Qt Test, Qt Widgets, Qt Concurrent, Qt D-Bus, Qt OpenGL, Qt Platform Headers, Qt Print Support, and Qt XML Homepage: https://www.qt.io Extract Dependencies: xz Build Dependencies: pkgconfig, gawk Library Dependencies: zlib, libpng, libjpeg-turbo, freetype, dbus, glib2, icu, pcre2, harfbuzz, double-conversion, zstd, openssl Conflicts with: qt3, qt3-mac, qt56-qtbase, qt511-qtbase, qt53-qtbase, qt57-qtbase, qt58-qtbase, qt513-qtbase, qt55-qtbase, qt59-qtbase Platforms: macosx License: (LGPL-3 or GPL-3 or OpenSSLException) Maintainers: Email: mcalhoun@macports.org, GitHub: MarcusCalhoun-Lopez Policy: openmaintainer
Monterey:
$ sw_vers ProductName: macOS ProductVersion: 12.5.1 BuildVersion: 21G83 $ port info qt5-qtbase qt5-qtbase @5.15.5 (aqua) Variants: debug, examples, [+]openssl, tests, universal Description: Tools and Module(s) for Qt Tool Kit 5: Qt Core, Qt GUI, Qt Network, Qt SQL, Qt Test, Qt Widgets, Qt Concurrent, Qt D-Bus, Qt OpenGL, Qt Platform Headers, Qt Print Support, and Qt XML Homepage: https://www.qt.io Extract Dependencies: xz Build Dependencies: pkgconfig, gawk Library Dependencies: zlib, libpng, libjpeg-turbo, freetype, dbus, glib2, icu, pcre2, harfbuzz, double-conversion, zstd, openssl Conflicts with: qt3, qt3-mac, qt56-qtbase, qt511-qtbase, qt53-qtbase, qt57-qtbase, qt58-qtbase, qt513-qtbase, qt55-qtbase, qt59-qtbase Platforms: macosx License: (LGPL-3 or GPL-3 or OpenSSLException) Maintainers: Email: mcalhoun@macports.org, GitHub: MarcusCalhoun-Lopez Policy: openmaintainer
comment:8 Changed 20 months ago by chrstphrchvz (Christopher Chavez)
I have not reproduced this issue on macOS 10.15 or 12. I haven’t spotted somewhere qt_qmake_spec
might not be set in the relevant portfiles/portgroups.
comment:9 follow-up: 10 Changed 20 months ago by mf2k (Frank Schima)
I'm running the latest base from Github. Maybe that's related?
comment:10 Changed 20 months ago by mascguy (Christopher Nielsen)
Replying to mf2k:
I'm running the latest base from Github. Maybe that's related?
Can you attach the complete output from port -d info qt5-qtbase
? If there is an issue with base, @jmroot will probably want that for review...
comment:11 Changed 20 months ago by jmroot (Joshua Root)
DEBUG: can't read "qt_qmake_spec": no such variable while executing "configure.args-append "-platform ${qt_qmake_spec}"" ("uplevel" body line 270) invoked from within "uplevel 1 $body" (procedure "subport" line 9) invoked from within "subport ${name}-${module} { if { ${module} ne "qtwebengine" } { distname ${module}-${middle_name}-src-${version} if {..." ("foreach" body line 6) invoked from within "foreach {module module_info} [array get modules] { set revision_string [string trim [lindex ${module_info} 7]] set revision_string [string ra..." (file "Portfile" line 963) invoked from within "source Portfile" invoked from within "$workername eval {source Portfile}" DEBUG: can't read "qt_qmake_spec": no such variable while executing "error $result" (procedure "mportopen" line 53) invoked from within "mportopen $porturl [array get options] [array get merged_variations]" Error: Unable to open port: can't read "qt_qmake_spec": no such variable
comment:12 follow-up: 13 Changed 20 months ago by jmroot (Joshua Root)
Looks like it's relying on being able to source the portgroup twice, once with a magic variable set and once without, and get different results each time. That's pretty broken.
comment:13 Changed 20 months ago by mascguy (Christopher Nielsen)
Replying to jmroot:
Looks like it's relying on being able to source the portgroup twice, once with a magic variable set and once without, and get different results each time. That's pretty broken.
Ah, yep. And the recent change to base - whereby a pg isn't included multiple times - prevents that from working. (Though I fully support that behavior change though, and glad that you added it!)
comment:14 Changed 20 months ago by jmroot (Joshua Root)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:15 follow-up: 16 Changed 20 months ago by chrstphrchvz (Christopher Chavez)
Is qt6 affected by a similar issue?
comment:16 Changed 20 months ago by mascguy (Christopher Nielsen)
Replying to chrstphrchvz:
Is qt6 affected by a similar issue?
Yep, and Josh fixed via the following commit:
https://github.com/macports/macports-ports/commit/b0fe9a49e8b4945bc45d6b3360a781b7851f4dc1
Hard to tell what's going on here. Is it a problem with the huge Portfile or the qt5 portgroup?