Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-122753

Qt Multimedia: implicit instantiation of undefined template 'std::char_traits<unsigned char>' (libc++ 19 / musl libc / amd64)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P2: Important
    • 6.5.6, 6.6.3, 6.7.0 RC, 6.8.0 FF
    • Some future release
    • Multimedia
    • Gentoo Linux amd64 musl libc, Clang libc++ 19
    • Linux/Wayland
    • 29fd2a4e2 (dev), 87c043f58 (6.7), 1feba7fe2 (6.6), 961587eac (tqtc/lts-6.5)

    Description

      LLVM upstream removed the deprecated char_traits template in https://github.com/llvm/llvm-project/pull/72694.

      Compiling dev-qt/qtmultimedia-6.7.9999 with libc++ 19 currently fails with the following error:

      [105/369] /usr/lib/ccache/bin/clang++ -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -DQGstreamerMediaPlugin_EXPORTS -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_UP_TO=0x050000 -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_AS_CONST -DQT_NO_AS_CONST=1 -DQT_NO_CONTEXTLESS_CONNECT=1 -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS -DQT_NO_FOREACH -DQT_NO_FOREACH=1 -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_QEXCHANGE -DQT_PLUGIN -DQT_USE_QSTRINGBUILDER -DQT_WARN_DEPRECATED_UP_TO=0x070000 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999_build/src/plugins/multimedia/gstreamer/QGstreamerMediaPlugin_autogen/include -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999/src/plugins/multimedia/gstreamer -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999_build/src/plugins/multimedia/gstreamer -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999_build/include -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999/src/plugins/multimedia/gstreamer/audio -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999/src/plugins/multimedia/gstreamer/common -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999/src/plugins/multimedia/gstreamer/mediacapture -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999_build/src/multimedia -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999_build/include/QtMultimedia/6.7.0 -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999_build/include/QtMultimedia/6.7.0/QtMultimedia -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999_build/include/QtMultimedia -isystem /usr/include/qt6/QtCore/6.7.0 -isystem /usr/include/qt6/QtCore/6.7.0/QtCore -isystem /usr/include/qt6/QtCore -isystem /usr/include/qt6 -isystem /usr/lib/qt6/mkspecs/linux-clang -isystem /usr/include/qt6/QtGui/6.7.0 -isystem /usr/include/qt6/QtGui/6.7.0/QtGui -isystem /usr/include/qt6/QtGui -isystem /usr/include/qt6/QtNetwork -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/glib-2.0 -isystem /usr/lib/glib-2.0/include -isystem /usr/lib/libffi/include -isystem /usr/include/orc-0.4 -isystem /usr/lib/gstreamer-1.0/include  -O3 -pipe -march=native -mtune=native -D_FORTIFY_SOURCE=3 -g0 -stdlib=libc++ -std=c++17 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -fno-exceptions -fPIC -pthread -MD -MT src/plugins/multimedia/gstreamer/CMakeFiles/QGstreamerMediaPlugin.dir/common/qgstvideobuffer.cpp.o -MF src/plugins/multimedia/gstreamer/CMakeFiles/QGstreamerMediaPlugin.dir/common/qgstvideobuffer.cpp.o.d -o src/plugins/multimedia/gstreamer/CMakeFiles/QGstreamerMediaPlugin.dir/common/qgstvideobuffer.cpp.o -c /var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999/src/plugins/multimedia/gstreamer/common/qgstvideobuffer.cpp
      samu: job failed with status 1: /usr/lib/ccache/bin/clang++ -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -DQGstreamerMediaPlugin_EXPORTS -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_UP_TO=0x050000 -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_AS_CONST -DQT_NO_AS_CONST=1 -DQT_NO_CONTEXTLESS_CONNECT=1 -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS -DQT_NO_FOREACH -DQT_NO_FOREACH=1 -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_QEXCHANGE -DQT_PLUGIN -DQT_USE_QSTRINGBUILDER -DQT_WARN_DEPRECATED_UP_TO=0x070000 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999_build/src/plugins/multimedia/gstreamer/QGstreamerMediaPlugin_autogen/include -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999/src/plugins/multimedia/gstreamer -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999_build/src/plugins/multimedia/gstreamer -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999_build/include -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999/src/plugins/multimedia/gstreamer/audio -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999/src/plugins/multimedia/gstreamer/common -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999/src/plugins/multimedia/gstreamer/mediacapture -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999_build/src/multimedia -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999_build/include/QtMultimedia/6.7.0 -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999_build/include/QtMultimedia/6.7.0/QtMultimedia -I/var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999_build/include/QtMultimedia -isystem /usr/include/qt6/QtCore/6.7.0 -isystem /usr/include/qt6/QtCore/6.7.0/QtCore -isystem /usr/include/qt6/QtCore -isystem /usr/include/qt6 -isystem /usr/lib/qt6/mkspecs/linux-clang -isystem /usr/include/qt6/QtGui/6.7.0 -isystem /usr/include/qt6/QtGui/6.7.0/QtGui -isystem /usr/include/qt6/QtGui -isystem /usr/include/qt6/QtNetwork -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/glib-2.0 -isystem /usr/lib/glib-2.0/include -isystem /usr/lib/libffi/include -isystem /usr/include/orc-0.4 -isystem /usr/lib/gstreamer-1.0/include  -O3 -pipe -march=native -mtune=native -D_FORTIFY_SOURCE=3 -g0 -stdlib=libc++ -std=c++17 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -fno-exceptions -fPIC -pthread -MD -MT src/plugins/multimedia/gstreamer/CMakeFiles/QGstreamerMediaPlugin.dir/common/qgstsubtitlesink.cpp.o -MF src/plugins/multimedia/gstreamer/CMakeFiles/QGstreamerMediaPlugin.dir/common/qgstsubtitlesink.cpp.o.d -o src/plugins/multimedia/gstreamer/CMakeFiles/QGstreamerMediaPlugin.dir/common/qgstsubtitlesink.cpp.o -c /var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999/src/plugins/multimedia/gstreamer/common/qgstsubtitlesink.cpp
      In file included from /var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999/src/plugins/multimedia/gstreamer/common/qgstsubtitlesink.cpp:4:
      In file included from /usr/include/qt6/QtCore/QDebug:1:
      In file included from /usr/include/qt6/QtCore/qdebug.h:13:
      In file included from /usr/include/qt6/QtCore/qtextstream.h:8:
      In file included from /usr/include/qt6/QtCore/qchar.h:656:
      In file included from /usr/include/qt6/QtCore/qstringview.h:8:
      In file included from /usr/include/qt6/QtCore/qbytearray.h:14:
      /usr/include/qt6/QtCore/qbytearrayview.h:70:27: error: implicit instantiation of undefined template 'std::char_traits<unsigned char>'
         70 |     return qsizetype(std::char_traits<Char>::length(data));
            |                           ^
      /usr/include/qt6/QtCore/qbytearrayview.h:152:39: note: in instantiation of function template specialization 'QtPrivate::lengthHelperPointer<unsigned char>' requested here
        152 |               data, data ? QtPrivate::lengthHelperPointer(data) : 0) {}
            |                                       ^
      /var/tmp/portage/dev-qt/qtmultimedia-6.7.9999/work/qtmultimedia-6.7.9999/src/plugins/multimedia/gstreamer/common/qgstsubtitlesink.cpp:148:38: note: in instantiation of function template specialization 'QByteArrayView::QByteArrayView<unsigned char *, true>' requested here
        148 |         subtitle = QString::fromUtf8(info.data);
            |                                      ^
      /usr/include/c++/v1/__string/char_traits.h:43:8: note: template is declared here
         43 | struct char_traits;
            |        ^
      1 error generated.
      samu: subcommand failed 

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            timblechmann tim blechmann
            linuxusergd LinuxUser GD
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes