Bug 432413 - kwave-20.12.1 with gcc-11: /usr/include/qt5/QtCore/qfloat16.h:300:7: error: ‘numeric_limits’ is not a class template
Summary: kwave-20.12.1 with gcc-11: /usr/include/qt5/QtCore/qfloat16.h:300:7: error: ‘...
Status: RESOLVED UPSTREAM
Alias: None
Product: kwave
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Thomas Eschenbacher
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-02-02 11:09 UTC by Kobboi
Modified: 2021-02-13 12:21 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kobboi 2021-02-02 11:09:41 UTC
FAILED: plugins/codec_wav/CMakeFiles/plugin_codec_wav.dir/WavDecoder.cpp.o 
/usr/bin/x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -DKCOREADDONS_LIB -DKXMLGUI_NO_DEPRECATED -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_DEPRECATED_WARNINGS -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_URL_CAST_FROM_STRING -DQT_USE_FAST_OPERATOR_PLUS -DQT_WIDGETS_LIB -DQT_XML_LIB -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -Dplugin_codec_wav_EXPORTS -Iplugins/codec_wav -I/var/tmp/portage/kde-apps/kwave-20.12.1/work/kwave-20.12.1/plugins/codec_wav -Iplugins/codec_wav/plugin_codec_wav_autogen/include -I/var/tmp/portage/kde-apps/kwave-20.12.1/work/kwave-20.12.1 -I. -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtConcurrent -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5 -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KIconThemes -isystem /usr/include/KF5/KIOFileWidgets -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOGui -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KService -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtDBus -isystem /usr/include/KF5/KWindowSystem -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KBookmarks -isystem /usr/include/qt5/QtXml -isystem /usr/include/KF5/KItemViews -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/Solid -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi  -DQT_NO_DEBUG -O2 -march=x86-64 -pipe -fomit-frame-pointer -g -ggdb -fPIC --std=c++11 -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -Wsuggest-override -Wlogical-op -fdiagnostics-color=always -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -MD -MT plugins/codec_wav/CMakeFiles/plugin_codec_wav.dir/WavDecoder.cpp.o -MF plugins/codec_wav/CMakeFiles/plugin_codec_wav.dir/WavDecoder.cpp.o.d -o plugins/codec_wav/CMakeFiles/plugin_codec_wav.dir/WavDecoder.cpp.o -c /var/tmp/portage/kde-apps/kwave-20.12.1/work/kwave-20.12.1/plugins/codec_wav/WavDecoder.cpp
In file included from /usr/include/qt5/QtCore/qendian.h:44,
                 from /usr/include/qt5/QtCore/QtEndian:1,
                 from /var/tmp/portage/kde-apps/kwave-20.12.1/work/kwave-20.12.1/plugins/codec_wav/WavDecoder.cpp:26:
/usr/include/qt5/QtCore/qfloat16.h:300:7: error: ‘numeric_limits’ is not a class template
  300 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float>
      |       ^~~~~~~~~~~~~~
/usr/include/qt5/QtCore/qfloat16.h:300:77: error: expected template-name before ‘<’ token
  300 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float>
      |                                                                             ^
/usr/include/qt5/QtCore/qfloat16.h:300:77: error: expected ‘{’ before ‘<’ token
/usr/include/qt5/QtCore/qfloat16.h:344:18: error: ‘numeric_limits’ is not a class template
  344 | template<> class numeric_limits<const QT_PREPEND_NAMESPACE(qfloat16)>
      |                  ^~~~~~~~~~~~~~
/usr/include/qt5/QtCore/qfloat16.h:344:69: error: ‘std::numeric_limits’ is not a template
  344 | template<> class numeric_limits<const QT_PREPEND_NAMESPACE(qfloat16)>
      |                                                                     ^
/usr/include/qt5/QtCore/qfloat16.h:300:7: note: previous declaration here
  300 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float>
      |       ^~~~~~~~~~~~~~
/usr/include/qt5/QtCore/qfloat16.h:345:28: error: expected template-name before ‘<’ token
  345 |     : public numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> {};
      |                            ^
/usr/include/qt5/QtCore/qfloat16.h:346:18: error: ‘numeric_limits’ is not a class template
  346 | template<> class numeric_limits<volatile QT_PREPEND_NAMESPACE(qfloat16)>
      |                  ^~~~~~~~~~~~~~
/usr/include/qt5/QtCore/qfloat16.h:346:72: error: ‘std::numeric_limits’ is not a template
  346 | template<> class numeric_limits<volatile QT_PREPEND_NAMESPACE(qfloat16)>
      |                                                                        ^
/usr/include/qt5/QtCore/qfloat16.h:300:7: note: previous declaration here
  300 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float>
      |       ^~~~~~~~~~~~~~
/usr/include/qt5/QtCore/qfloat16.h:347:28: error: expected template-name before ‘<’ token
  347 |     : public numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> {};
      |                            ^
/usr/include/qt5/QtCore/qfloat16.h:348:18: error: ‘numeric_limits’ is not a class template
  348 | template<> class numeric_limits<const volatile QT_PREPEND_NAMESPACE(qfloat16)>
      |                  ^~~~~~~~~~~~~~
/usr/include/qt5/QtCore/qfloat16.h:348:78: error: ‘std::numeric_limits’ is not a template
  348 | template<> class numeric_limits<const volatile QT_PREPEND_NAMESPACE(qfloat16)>
      |                                                                              ^
/usr/include/qt5/QtCore/qfloat16.h:300:7: note: previous declaration here
  300 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float>
      |       ^~~~~~~~~~~~~~
/usr/include/qt5/QtCore/qfloat16.h:349:28: error: expected template-name before ‘<’ token
  349 |     : public numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> {};
      |                            ^

(...)
Comment 1 Kobboi 2021-02-02 11:10:08 UTC
Patch by Fedora worked for me:

https://src.fedoraproject.org/rpms/kwave/blob/master/f/kwave-gcc11.patch
Comment 2 Andreas Sturmlechner 2021-02-13 12:21:11 UTC
Fixed missing header in Qt instead.