Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

With QT-6.9 src/engine/sidechain/enginerecord.cpp:228:22: error: no matching function for call to ‘QString::arg(quint64, int, char, int, char)’ #14071

Open
jospezial opened this issue Dec 28, 2024 · 2 comments

Comments

@jospezial
Copy link

Bug Description

With QT-6.9 git (~Beta1):

FAILED: CMakeFiles/mixxx-lib.dir/src/engine/sidechain/enginerecord.cpp.o 
/usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -DMIXXX_BUILD_RELEASE -DMIXXX_USE_QOPENGL -DPA_USE_ALSA -DPROTOBUF_USE_DLLS -DQT_CONCURRENT_LIB -DQT_CORE5COMPAT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_PRINTSUPPORT_LIB -DQT_QMLINTEGRATION_LIB -DQT_QML_LIB -DQT_SHADERTOOLS_LIB -DQT_SQL_LIB -DQT_SVGWIDGETS_LIB -DQT_SVG_LIB -DQT_TABLET_SUPPORT -DQT_TESTCASE_BUILDDIR=\"/var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999_build\" -DQT_TESTCASE_SOURCEDIR=\"/var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999\" -DQT_TESTLIB_LIB -DQT_USE_QSTRINGBUILDER -DQT_WIDGETS_LIB -DQT_XML_LIB -DSFC_SUPPORTS_SET_COMPRESSION_LEVEL -D__BATTERY__ -D__BULK__ -D__FAAD__ -D__FFMPEG__ -D__HID__ -D__KEYFINDER__ -D__LILV__ -D__LINUX__ -D__MAD__ -D__MODPLUG__ -D__MP4V2__ -D__OPUS__ -D__PORTMIDI__ -D__QTKEYCHAIN__ -D__RUBBERBAND__ -D__SNDFILE__ -D__SQLITE3__ -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STEM__ -D__UNIX__ -D__VINYLCONTROL__ -D__WV__ -Dx86_64 -I/var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999_build/mixxx-lib_autogen/include -I/var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999/src -I/var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999_build/src -isystem /var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999/lib/fidlib -isystem /var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999/lib/portaudio -isystem /var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999/lib/rigtorp/SPSCQueue/include -isystem /var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999/lib/replaygain -isystem /var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999/lib/reverb -isystem /usr/include/glib-2.0 -isystem /usr/lib64/glib-2.0/include -isystem /var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999/lib/rekordbox-metadata -isystem /var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999/lib/kaitai -isystem /var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999/lib/mp3guessenc-0.27.4 -isystem /usr/include/qt6/QtConcurrent -isystem /usr/include/qt6 -isystem /usr/include/qt6/QtCore -isystem /usr/lib64/qt6/mkspecs/linux-g++ -isystem /usr/include/qt6/QtGui -isystem /usr/include/qt6/QtNetwork -isystem /usr/include/qt6/QtOpenGL -isystem /usr/include/qt6/QtPrintSupport -isystem /usr/include/qt6/QtWidgets -isystem /usr/include/qt6/QtQml -isystem /usr/include/qt6/QtQmlIntegration -isystem /usr/include/qt6/QtSql -isystem /usr/include/qt6/QtSvg -isystem /usr/include/qt6/QtTest -isystem /usr/include/qt6/QtXml -isystem /usr/include/qt6/QtShaderTools -isystem /usr/include/qt6/QtSvgWidgets -isystem /usr/include/qt6/QtCore5Compat -isystem /usr/include/qt6/QtDBus -isystem /var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999/lib/qm-dsp -isystem /var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999/lib/qm-dsp/include -isystem /usr/include/taglib -isystem /usr/include/libupower-glib -isystem /usr/include/lilv-0 -isystem /usr/include/opus -isystem /usr/include/hidapi -isystem /usr/include/libusb-1.0 -isystem /var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999/lib/xwax -isystem /usr/include/wavpack  -march=native -O2 -pipe -std=gnu++20 -fvisibility=hidden -fvisibility-inlines-hidden -pipe -Wall -Wextra -Woverloaded-virtual -Wfloat-conversion -Werror=return-type -Wformat=2 -Wformat-security -Wvla -Wundef -fmacro-prefix-map=/var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999=. -pthread -fPIC -MD -MT CMakeFiles/mixxx-lib.dir/src/engine/sidechain/enginerecord.cpp.o -MF CMakeFiles/mixxx-lib.dir/src/engine/sidechain/enginerecord.cpp.o.d -o CMakeFiles/mixxx-lib.dir/src/engine/sidechain/enginerecord.cpp.o -c /var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999/src/engine/sidechain/enginerecord.cpp
/var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999/src/engine/sidechain/enginerecord.cpp: In member function ‘QString EngineRecord::getRecordedDurationStr()’:
/var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999/src/engine/sidechain/enginerecord.cpp:228:22: error: no matching function for call to ‘QString::arg(quint64, int, char, int, char)’
  227 |     return QString("%1:%2")
      |            ~~~~~~~~~~~~~~~~
  228 |                  .arg(m_recordedDuration / 60, 2, 'f', 0, '0')   // minutes
      |                  ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/qt6/QtCore/qobject.h:11,
                 from /usr/include/qt6/QtCore/qiodevice.h:10,
                 from /usr/include/qt6/QtCore/qfiledevice.h:7,
                 from /usr/include/qt6/QtCore/qfile.h:8,
                 from /usr/include/qt6/QtCore/QFile:1,
                 from /var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999/src/engine/sidechain/enginerecord.h:4,
                 from /var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999/src/engine/sidechain/enginerecord.cpp:1:
/usr/include/qt6/QtCore/qstring.h:316:27: note: candidate: ‘template<class T, typename std::enable_if<conjunction_v<std::disjunction<std::is_convertible<T, long long unsigned int>, std::is_convertible<T, long long int> >, std::negation<std::disjunction<std::is_same<typename std::remove_cvref<_Tp>::type, _Float16>, std::is_same<typename std::remove_cvref<_Tp>::type, qfloat16>, std::is_floating_point<_Tp> > >, std::negation<std::conjunction<std::negation<QtPrivate::treat_as_integral_arg<typename std::remove_cv< <template-parameter-1-1> >::type> >, std::is_convertible<T, QAnyStringView> > > >, bool>::type <anonymous> > QString QString::arg(T, int, int, QChar) const’
  316 |     [[nodiscard]] QString arg(T a, int fieldWidth = 0, int base = 10,
      |                           ^~~
/usr/include/qt6/QtCore/qstring.h:316:27: note:   candidate expects 4 arguments, 5 provided
/usr/include/qt6/QtCore/qstring.h:331:27: note: candidate: ‘template<class T, typename std::enable_if<std::disjunction<std::is_same<typename std::remove_cvref<_Tp>::type, _Float16>, std::is_same<typename std::remove_cvref<_Tp>::type, qfloat16>, std::is_floating_point<_Tp> >::value, bool>::type <anonymous> > QString QString::arg(T, int, char, int, QChar) const’
  331 |     [[nodiscard]] QString arg(T a, int fieldWidth = 0, char format = 'g', int precision = -1,
      |                           ^~~
/usr/include/qt6/QtCore/qstring.h:331:27: note:   template argument deduction/substitution failed:
/usr/include/qt6/QtCore/qstring.h:330:50: error: no type named ‘type’ in ‘struct std::enable_if<false, bool>’
  330 |     template <typename T, if_floating_point<T> = true>
      |                                                  ^~~~
/usr/include/qt6/QtCore/qstring.h:336:27: note: candidate: ‘template<class T, typename std::enable_if<std::conjunction<std::negation<QtPrivate::treat_as_integral_arg<typename std::remove_cv< <template-parameter-1-1> >::type> >, std::is_convertible<T, QAnyStringView> >::value, bool>::type <anonymous> > QString QString::arg(const T&, int, QChar) const’
  336 |     [[nodiscard]] QString arg(const T &a, int fieldWidth = 0, QChar fillChar = u' ') const
      |                           ^~~
/usr/include/qt6/QtCore/qstring.h:336:27: note:   candidate expects 3 arguments, 5 provided
/usr/include/qt6/QtCore/qstring.h:356:5: note: candidate: ‘template<class ... Args> typename std::enable_if<((sizeof... (Args) >= 2) && conjunction_v<std::conjunction<std::negation<QtPrivate::treat_as_integral_arg<typename std::remove_cv<Args>::type> >, std::is_convertible<Args, QAnyStringView> >...>), QString>::type QString::arg(Args&& ...) const’
  356 |     arg(Args &&...args) const
      |     ^~~
/usr/include/qt6/QtCore/qstring.h:356:5: note:   template argument deduction/substitution failed:
/usr/include/qt6/QtCore/qstring.h: In substitution of ‘template<class ... Args> typename std::enable_if<((sizeof... (Args) >= 2) && conjunction_v<std::conjunction<std::negation<QtPrivate::treat_as_integral_arg<typename std::remove_cv<Args>::type> >, std::is_convertible<Args, QAnyStringView> >...>), QString>::type QString::arg(Args&& ...) const [with Args = {long long unsigned int, int, char, int, char}]’:
/var/tmp/portage/media-sound/mixxx-9999/work/mixxx-9999/src/engine/sidechain/enginerecord.cpp:228:22:   required from here
  227 |     return QString("%1:%2")
      |            ~~~~~~~~~~~~~~~~
  228 |                  .arg(m_recordedDuration / 60, 2, 'f', 0, '0')   // minutes
      |                  ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qstring.h:356:5: error: no type named ‘type’ in ‘struct std::enable_if<false, QString>’
  356 |     arg(Args &&...args) const
      |     ^~~

Version

git main

OS

Gentoo linux

@jospezial jospezial added the bug label Dec 28, 2024
@jospezial
Copy link
Author

Swiftb0y added a commit to Swiftb0y/mixxx that referenced this issue Dec 30, 2024
@Swiftb0y
Copy link
Member

This is probably at fault: qt/qtbase@563ed82

I don't have a Qt6.9 setup so I can't easily confirm or fix this. I have created a PR blindly. Please confirm whether that fixes the issue for you or if any similar issues arise: #14080

Swiftb0y added a commit to Swiftb0y/mixxx that referenced this issue Dec 30, 2024
Swiftb0y added a commit to Swiftb0y/mixxx that referenced this issue Dec 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants