Summary: | >=dev-qt/qtwayland-r19 fails to compile under libcxx: implicit instantiation of undefined template 'std::array<Plane, 4>' | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Carlos <carana2099> |
Component: | Current packages | Assignee: | Qt Bug Alias <qt> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | asturm, sam |
Priority: | Normal | Keywords: | PATCH |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugreports.qt.io/browse/QTBUG-104435 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 836220 | ||
Attachments: |
emerge --info output
Compressed build log Possible fix build.log (dropped QTBUG-90037-QTBUG-91264) |
Created attachment 765266 [details]
Compressed build log
Complete build log (failure only happens at the very end of the build process).
Created attachment 765267 [details, diff] Possible fix A one-line include that's fixed this bug for me. Haven't tested if it'll break libstdc++. Signed-off-by: Carlos Eduardo <carana2099@gmail.com> (In reply to Carlos from comment #2) > Created attachment 765267 [details, diff] [details, diff] > Possible fix > > A one-line include that's fixed this bug for me. > > Haven't tested if it'll break libstdc++. > > Signed-off-by: Carlos Eduardo <carana2099@gmail.com> Having the same issue on my systems using libcxx. Your patched fixed it for me. Thanks! Thanks for investigating. Could you please test with qtwayland-5.15.2-QTBUG-90037-QTBUG-91264.patch (manually) dropped from the currently available r20 ebuild? (In reply to Carlos from comment #1) > Created attachment 765266 [details] > Compressed build log > > Complete build log (failure only happens at the very end of the build > process). Compressing this tiny build.log was not necessary. Created attachment 765269 [details] build.log (dropped QTBUG-90037-QTBUG-91264) > (In reply to Andreas Sturmlechner from comment #4) > Thanks for investigating. Could you please test with > qtwayland-5.15.2-QTBUG-90037-QTBUG-91264.patch (manually) dropped from the > currently available r20 ebuild? Dropping this patch with a /etc/portage/env file still results in a build failure. > (In reply to Carlos from comment #1) > > Created attachment 765266 [details] > > Compressed build log > > > > Complete build log (failure only happens at the very end of the build > > process). > Compressing this tiny build.log was not necessary. I tried uploading it uncompressed, but the webpage complained it was over 1000k in size. Same thing happened with the current build.log. (In reply to Carlos from comment #5) > Created attachment 765269 [details] > build.log (dropped QTBUG-90037-QTBUG-91264) > > > (In reply to Andreas Sturmlechner from comment #4) > > Thanks for investigating. Could you please test with > > qtwayland-5.15.2-QTBUG-90037-QTBUG-91264.patch (manually) dropped from the > > currently available r20 ebuild? > > Dropping this patch with a /etc/portage/env file still results in a build > failure. Thanks for testing; Does 5.15.2-r17 when you try again fail the same way? I don't think it is caused by a change in the package itself. > > (In reply to Carlos from comment #1) > I tried uploading it uncompressed, but the webpage complained it was over > 1000k in size. Same thing happened with the current build.log. Yeah, I was looking at the wrong value... (In reply to Andreas Sturmlechner from comment #6) > (In reply to Carlos from comment #5) > > Created attachment 765269 [details] > > build.log (dropped QTBUG-90037-QTBUG-91264) > > > > > (In reply to Andreas Sturmlechner from comment #4) > > > Thanks for investigating. Could you please test with > > > qtwayland-5.15.2-QTBUG-90037-QTBUG-91264.patch (manually) dropped from the > > > currently available r20 ebuild? > > > > Dropping this patch with a /etc/portage/env file still results in a build > > failure. > Thanks for testing; Does 5.15.2-r17 when you try again fail the same way? I > don't think it is caused by a change in the package itself. No, just rebuilt successfully. Seems this is not due to something on libc++ or Qt itself changing under QtWayland's rug. I remember -r17 and -r18 were the last working ebuilds for me. > > > (In reply to Carlos from comment #1) > > I tried uploading it uncompressed, but the webpage complained it was over > > 1000k in size. Same thing happened with the current build.log. > Yeah, I was looking at the wrong value... No problem. Patch from comment 2 to add the missing include works for me. It is still required for qtwayland-5.15.3-r1. There used to be a number of other packages (mostly from the KDE universe) that also suffered from missing array includes, so I guess there's some transitive include provided by libstdc++ that's not there in libc++. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b21c0ff832622375a6aae8b36c6a0566e6dfaf1c commit b21c0ff832622375a6aae8b36c6a0566e6dfaf1c Author: Denis Pronin <dannftk@yandex.ru> AuthorDate: 2022-04-15 04:32:05 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-04-15 06:08:30 +0000 dev-qt/qtwayland: fixed building with clang (missing include) Added qtwayland-5.15.3-clang.patch that fixes building with clang (libcxx). Closes: https://bugs.gentoo.org/833488 Closes: https://github.com/gentoo/gentoo/pull/25030 Signed-off-by: Denis Pronin <dannftk@yandex.ru> Signed-off-by: Sam James <sam@gentoo.org> dev-qt/qtwayland/files/qtwayland-5.15.3-clang.patch | 12 ++++++++++++ dev-qt/qtwayland/qtwayland-5.15.3-r1.ebuild | 5 ++++- 2 files changed, 16 insertions(+), 1 deletion(-) This patch should be upstreamed. (In reply to Andreas Sturmlechner from comment #10) > This patch should be upstreamed. On it: - https://bugreports.qt.io/browse/QTBUG-104435 - https://codereview.qt-project.org/c/qt/qtwayland/+/417138 |
Created attachment 765264 [details] emerge --info output Since revision 19, dev-qt/qtwayland consistenly fails to compile when using libc++ as the default C++ standard library implementation. This issues seems to be libc++ as related, as I've asked people using glibc/libstdc++ or musl/libstdc++ combinations and it works for them.