Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 937600 - dev-qt/qt-creator-14.0.1 with clang-19: error: call to 'transform' is ambiguous
Summary: dev-qt/qt-creator-14.0.1 with clang-19: error: call to 'transform' is ambiguous
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2024-08-09 01:40 UTC by Alfred Wingate
Modified: 2024-12-06 05:44 UTC (History)
1 user (show)

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


Attachments
dev-qt/qtcreator-14.0.0 build.log (xz compressed) (qt-creator-14.0.0.log.xz,22.14 KB, application/x-xz)
2024-08-09 01:40 UTC, Alfred Wingate
Details
emerge --info (emerge--info.txt,8.92 KB, text/plain)
2024-08-09 01:41 UTC, Alfred Wingate
Details
qt-creator-14.0.0-clang-19.patch (qt-creator-clang-19.patch,2.18 KB, patch)
2024-08-09 01:43 UTC, Alfred Wingate
Details | Diff
build.log (build.log.xz,46.95 KB, application/x-xz)
2024-08-09 09:24 UTC, Ionen Wolkens
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alfred Wingate 2024-08-09 01:40:16 UTC
FAILED: src/libs/extensionsystem/CMakeFiles/ExtensionSystem.dir/optionsparser.cpp.o 
/usr/lib/llvm/19/bin/clang++-19 -DEXTENSIONSYSTEM_LIBRARY -DEXTENSIONSYSTEM_WITH_TESTOPTION -DExtensionSystem_EXPORTS -DNANOTRACE_ENABLED -DQT_CONCURRENT_LIB -DQT_CORE5COMPAT_LIB -DQT_CORE_LIB -DQT_CREATOR -DQT_DISABLE_DEPRECATED_BE
FORE=0x050900 -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_FOREACH -DQT_NO_JAVA_STYLE_ITERATORS -DQT_RESTRICTED_CAST_FROM_ASCII -DQT_TESTCASE_BUILDDIR=\"/var/tmp/portage/dev-qt/qt-creator-14.0.0/work/qt-
creator-opensource-src-14.0.0_build/src/libs/extensionsystem\" -DQT_TESTCASE_SOURCEDIR=\"/var/tmp/portage/dev-qt/qt-creator-14.0.0/work/qt-creator-opensource-src-14.0.0/src/libs/extensionsystem\" -DQT_TESTLIB_LIB -DQT_USE_QSTRINGBUI
LDER -DQT_WARN_DEPRECATED_BEFORE=0x060400 -DQT_WIDGETS_LIB -DRELATIVE_DATA_PATH=\"../share/qtcreator\" -DRELATIVE_DOC_PATH=\"../share/doc/qt-creator-14.0.0\" -DRELATIVE_LIBEXEC_PATH=\"../libexec/qtcreator\" -DRELATIVE_PLUGIN_PATH=\"
../lib64/qtcreator/plugins\" -I/var/tmp/portage/dev-qt/qt-creator-14.0.0/work/qt-creator-opensource-src-14.0.0_build/src/libs/extensionsystem -I/var/tmp/portage/dev-qt/qt-creator-14.0.0/work/qt-creator-opensource-src-14.0.0/src/libs
/extensionsystem -I/var/tmp/portage/dev-qt/qt-creator-14.0.0/work/qt-creator-opensource-src-14.0.0_build/src/libs/extensionsystem/ExtensionSystem_autogen/include -I/var/tmp/portage/dev-qt/qt-creator-14.0.0/work/qt-creator-opensource
-src-14.0.0/src/libs -I/var/tmp/portage/dev-qt/qt-creator-14.0.0/work/qt-creator-opensource-src-14.0.0/src/libs/utils/mimetypes2 -isystem /usr/include/qt6/QtConcurrent -isystem /usr/include/qt6 -isystem /usr/include/qt6/QtCore -isys
tem /usr/lib64/qt6/mkspecs/linux-clang -isystem /usr/include/qt6/QtNetwork -isystem /usr/include/qt6/QtGui -isystem /usr/include/qt6/QtWidgets -isystem /usr/include/qt6/QtCore5Compat -isystem /usr/include/qt6/QtTest  -O3 -pipe -marc
h=znver3 -Werror=odr -Werror=strict-aliasing -std=c++20 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -fPIC -MD -MT src/libs/extensionsystem/CMakeFiles/ExtensionSystem.dir/optionsparser.cpp.o -MF src/libs/exten
sionsystem/CMakeFiles/ExtensionSystem.dir/optionsparser.cpp.o.d -o src/libs/extensionsystem/CMakeFiles/ExtensionSystem.dir/optionsparser.cpp.o -c /var/tmp/portage/dev-qt/qt-creator-14.0.0/work/qt-creator-opensource-src-14.0.0/src/li
bs/extensionsystem/optionsparser.cpp
/var/tmp/portage/dev-qt/qt-creator-14.0.0/work/qt-creator-opensource-src-14.0.0/src/libs/extensionsystem/optionsparser.cpp:107:23: error: call to 'transform' is ambiguous
  107 |                     = Utils::transform<std::vector>(m_pmPrivate->loadQueue(), [](PluginSpec *spec) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-qt/qt-creator-14.0.0/work/qt-creator-opensource-src-14.0.0/src/libs/utils/algorithm.h:807:34: note: candidate function [with C = std::vector, SC = const QList<ExtensionSystem::PluginSpec *>, F = (lambda at /var/
tmp/portage/dev-qt/qt-creator-14.0.0/work/qt-creator-opensource-src-14.0.0/src/libs/extensionsystem/optionsparser.cpp:107:79), Value = ExtensionSystem::PluginSpec *, Result = ExtensionSystem::Internal::PluginManagerPrivate::TestSpec
, ResultContainer = std::vector<ExtensionSystem::Internal::PluginManagerPrivate::TestSpec>]
  807 | Q_REQUIRED_RESULT decltype(auto) transform(SC &&container, F function)
      |                                  ^
/var/tmp/portage/dev-qt/qt-creator-14.0.0/work/qt-creator-opensource-src-14.0.0/src/libs/utils/algorithm.h:819:34: note: candidate function [with C = std::vector, SC = const QList<ExtensionSystem::PluginSpec *>, F = (lambda at /var/
tmp/portage/dev-qt/qt-creator-14.0.0/work/qt-creator-opensource-src-14.0.0/src/libs/extensionsystem/optionsparser.cpp:107:79), Value = ExtensionSystem::PluginSpec *, Result = ExtensionSystem::Internal::PluginManagerPrivate::TestSpec
, ResultContainer = std::vector<ExtensionSystem::Internal::PluginManagerPrivate::TestSpec>]
  819 | Q_REQUIRED_RESULT decltype(auto) transform(SC &&container, F function)
      |                                  ^
1 error generated.

Clang-19 implemented __cpp_template_template_args in C++17 breaking qt-creators old workaround for it lacking.

https://github.com/llvm/llvm-project/pull/89807
https://github.com/qt-creator/qt-creator/commit/d400dce35d817afd719ffadf8c8f43c8814c05c1

(After fixing this there is an issue with vendored sol2, https://github.com/ThePhD/sol2/issues/1617)
Comment 1 Alfred Wingate 2024-08-09 01:40:46 UTC
Created attachment 899651 [details]
dev-qt/qtcreator-14.0.0 build.log (xz compressed)
Comment 2 Alfred Wingate 2024-08-09 01:41:02 UTC
Created attachment 899652 [details]
emerge --info
Comment 3 Alfred Wingate 2024-08-09 01:43:49 UTC
Created attachment 899653 [details, diff]
qt-creator-14.0.0-clang-19.patch
Comment 4 Ionen Wolkens gentoo-dev 2024-08-09 09:24:17 UTC
Created attachment 899663 [details]
build.log

Haven't really looked at this, but still fails for me with the patch. I think need USE=qmldesigner or maybe USE=test to trigger usage of the sqlite code

Not sure if error is clang19 specific though, that flag is off by default and been a while since I tried clang to build qt-creator with it so maybe it been overlooked.

In file included from /var/tmp/portage/dev-qt/qt-creator-14.0.1/work/qt-creator-opensource-src-14.0.1/src/libs/sqlite/sqlitebasestatement.cpp:4:
/var/tmp/portage/dev-qt/qt-creator-14.0.1/work/qt-creator-opensource-src-14.0.1/src/libs/sqlite/sqlitebasestatement.h:416:43: error: no member named 'resetter' in 'BaseSqliteResultRange<ResultType>'
  416 |             : m_statement{std::move(other.resetter)}
      |                                     ~~~~~ ^
Comment 5 Ionen Wolkens gentoo-dev 2024-08-09 11:27:24 UTC
(In reply to Ionen Wolkens from comment #4)
> Not sure if error is clang19 specific though
Just finished a build with clang-18 and same USE so, assuming didn't overlook anything while testing, guess it's clang-19 too.
Comment 6 Ionen Wolkens gentoo-dev 2024-09-04 07:23:26 UTC
(In reply to Ionen Wolkens from comment #5)
> (In reply to Ionen Wolkens from comment #4)
> > Not sure if error is clang19 specific though
> Just finished a build with clang-18 and same USE so, assuming didn't
> overlook anything while testing, guess it's clang-19 too.
Having a 2nd look at this (broken with both clang19 and gcc15 atm), and seems this 2nd issue happen with gcc15 too.
Comment 7 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-09-04 07:25:19 UTC
Clang 19 has the same template lookup change as GCC 15.
Comment 8 Larry the Git Cow gentoo-dev 2024-09-04 10:21:14 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4864940397a0b5808598d468d63605eb2e0217b1

commit 4864940397a0b5808598d468d63605eb2e0217b1
Author:     Ionen Wolkens <ionen@gentoo.org>
AuthorDate: 2024-09-04 07:57:56 +0000
Commit:     Ionen Wolkens <ionen@gentoo.org>
CommitDate: 2024-09-04 10:20:54 +0000

    dev-qt/qt-creator: partially fix build with clang19 and gcc15
    
    other.resetter bit with USE=qmldesigner wrt bug #937600 comment #4
    still need attention, but adding what we have so far esp. given
    qmldesigner is off by default and has limited impact.
    
    Bug: https://bugs.gentoo.org/937600
    Closes: https://bugs.gentoo.org/938486
    Signed-off-by: Ionen Wolkens <ionen@gentoo.org>

 .../files/qt-creator-14.0.1-clang19.patch          | 24 ++++++++++++++++++++++
 .../qt-creator-14.0.1-sol2-clang19-gcc15.patch     | 18 ++++++++++++++++
 dev-qt/qt-creator/qt-creator-14.0.1.ebuild         |  2 ++
 3 files changed, 44 insertions(+)
Comment 9 Ionen Wolkens gentoo-dev 2024-09-20 13:34:57 UTC
Original issue here been patched, and will track the different USE=qmldesigner remaining issue in bug #939898 instead. Closing.
Comment 10 Larry the Git Cow gentoo-dev 2024-12-06 05:44:07 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0edd9d52c0101d6c3a3383db49ca63909aad82ac

commit 0edd9d52c0101d6c3a3383db49ca63909aad82ac
Author:     Ionen Wolkens <ionen@gentoo.org>
AuthorDate: 2024-12-06 05:38:21 +0000
Commit:     Ionen Wolkens <ionen@gentoo.org>
CommitDate: 2024-12-06 05:43:11 +0000

    dev-qt/qt-creator: re-add clang19 patch
    
    Still needed, was lost when copied the 15-based live ebuild
    which did not have the patch.
    
    So, keep it in live too for now.
    
    Bug: https://bugs.gentoo.org/937600
    Signed-off-by: Ionen Wolkens <ionen@gentoo.org>

 dev-qt/qt-creator/qt-creator-15.0.0.ebuild | 1 +
 dev-qt/qt-creator/qt-creator-9999.ebuild   | 1 +
 2 files changed, 2 insertions(+)