Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 833488 - >=dev-qt/qtwayland-r19 fails to compile under libcxx: implicit instantiation of undefined template 'std::array<Plane, 4>'
Summary: >=dev-qt/qtwayland-r19 fails to compile under libcxx: implicit instantiation ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks: systemwide-libcxx
  Show dependency tree
 
Reported: 2022-02-16 14:25 UTC by Carlos
Modified: 2022-06-18 16:47 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info output (emerge-info.txt,8.90 KB, text/plain)
2022-02-16 14:25 UTC, Carlos
Details
Compressed build log (build.log.bz2,19.67 KB, application/x-bzip2)
2022-02-16 14:31 UTC, Carlos
Details
Possible fix (libcxx-add-array.patch,567 bytes, patch)
2022-02-16 14:34 UTC, Carlos
Details | Diff
build.log (dropped QTBUG-90037-QTBUG-91264) (build.log.2.bz2,19.57 KB, application/x-bzip2)
2022-02-16 17:05 UTC, Carlos
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Carlos 2022-02-16 14:25:54 UTC
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.
Comment 1 Carlos 2022-02-16 14:31:56 UTC
Created attachment 765266 [details]
Compressed build log

Complete build log (failure only happens at the very end of the build process).
Comment 2 Carlos 2022-02-16 14:34:46 UTC
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>
Comment 3 Kenton Groombridge gentoo-dev 2022-02-16 15:55:40 UTC
(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!
Comment 4 Andreas Sturmlechner gentoo-dev 2022-02-16 16:20:04 UTC
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.
Comment 5 Carlos 2022-02-16 17:05:34 UTC
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.
Comment 6 Andreas Sturmlechner gentoo-dev 2022-02-16 17:09:16 UTC
(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...
Comment 7 Carlos 2022-02-16 17:23:35 UTC
(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.
Comment 8 Manuel Nickschas 2022-04-13 23:26:38 UTC
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++.
Comment 9 Larry the Git Cow gentoo-dev 2022-04-15 06:08:41 UTC
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(-)
Comment 10 Andreas Sturmlechner gentoo-dev 2022-06-18 15:29:03 UTC
This patch should be upstreamed.
Comment 11 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-06-18 16:27:04 UTC
(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