Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#73302 - [qt6-base] Host binaries (moc, rcc, uic, etc.) are installed in the wrong location

Attached to Project: Arch Linux
Opened by John Lindgren (jlindgren) - Saturday, 08 January 2022, 21:06 GMT
Last edited by Antonio Rojas (arojas) - Saturday, 08 January 2022, 21:28 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

Beginning with qt6-base 6.1.0-1, some Qt host binaries are installed under /usr/lib/qt6 rather than /usr/lib/qt6/bin.
However, "qmake6 -query QT_HOST_BINS" still gives "/usr/lib/qt6/bin".
This makes build tools that rely on QT_HOST_BINS (including meson) unable to find the binaries.

If this is an upstream issue rather than a packaging issue, I can report it upstream.

Sample meson output:

Detecting Qt6 tools
qmake found: YES (/usr/bin/qmake6) 6.2.2
Run-time dependency qt6 (modules: Core) found: YES 6.2.2 (qmake)
Program /usr/lib/qt6/bin/moc found: NO
Program moc-qt6 found: NO
Program moc found: NO found 5.15.2 but need: '== 6.2.2' (/usr/bin/moc)
Program /usr/lib/qt6/bin/uic found: NO
Program uic-qt6 found: NO
Program uic found: NO found 5.15.2 but need: '== 6.2.2' (/usr/bin/uic)
Program /usr/lib/qt6/bin/rcc found: NO
Program rcc-qt6 found: NO
Program rcc found: NO found 5.15.2 but need: '== 6.2.2' (/usr/bin/rcc)
Program /usr/lib/qt6/bin/lrelease found: YES 6.2.2 (/usr/lib/qt6/bin/lrelease)

meson.build:47:2: ERROR: RCC sources specified and couldn't find rcc-qt6, please check your qt6 installation


Additional info:
* package version(s)
qt6-base 6.2.2-4
meson 0.60.3-1

Steps to reproduce:

$ tar tf qt6-base-6.0.4-1-x86_64.pkg.tar.zst | grep -E '(rcc|uic|moc)$'
usr/lib/qt6/bin/moc
usr/lib/qt6/bin/rcc
usr/lib/qt6/bin/uic

$ tar tf qt6-base-6.1.0-1-x86_64.pkg.tar.zst | grep -E '(rcc|uic|moc)$'
usr/lib/qt6/moc
usr/lib/qt6/rcc
usr/lib/qt6/uic

$ qmake6 -query QT_HOST_BINS
/usr/lib/qt6/bin
This task depends upon

Closed by  Antonio Rojas (arojas)
Saturday, 08 January 2022, 21:28 GMT
Reason for closing:  Not a bug
Comment by John Lindgren (jlindgren) - Saturday, 08 January 2022, 21:10 GMT
Looking at the Qt 6.1 changelog, it looks like this was an intentional change:

c515ee178f Move build tools to libexec instead of the bin dir
- Tools that are called by the build system and are unlikely to be
called by the user are now installed to the libexec directory.

Hence a bug report probably needs to be filed against meson. I will do that.
Comment by Antonio Rojas (arojas) - Saturday, 08 January 2022, 21:28 GMT
Yes, QT_HOST_LIBEXECS is the correct qmake variable to use here.

Loading...