#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 2 years ago by mf2k (Frank Schima)
comment:2 Changed 2 years ago by mf2k (Frank Schima)
Version: | → 2.7.99 |
---|
comment:3 Changed 2 years ago by mascguy (Christopher Nielsen)
Works fine for me, on 10.15. Which macOS release are you testing on Frank?
comment:4 Changed 2 years ago by mascguy (Christopher Nielsen)
Cc: | mascguy added |
---|
comment:5 Changed 2 years ago by mascguy (Christopher Nielsen)
Cc: | chrstphrchvz added |
---|
Adding @chrstphrchvz as well
comment:7 Changed 2 years 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 2 years 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 2 years ago by mf2k (Frank Schima)
I'm running the latest base from Github. Maybe that's related?
comment:10 Changed 2 years 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 2 years 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 2 years 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 2 years 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 2 years ago by jmroot (Joshua Root)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:15 follow-up: 16 Changed 2 years ago by chrstphrchvz (Christopher Chavez)
Is qt6 affected by a similar issue?
comment:16 Changed 2 years 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?