0x0is1/iptv-desktop

qmake error when attempting build

Hi-Phile opened this issue · 9 comments

Seeing this error after satisfying the dependencies on Arch Linux.

Project ERROR: Unknown module(s) in QT: multimedia multimediawidgets

Versions:

$ qmake --version
QMake version 3.1
Using Qt version 5.15.11 in /usr/lib

gstreamer-1.22.7-1
qt5-base-5.15.11+kde+r146-1

0x0is1 commented

Looks like your qmake is missing some basic modules like multimedia and multimediawidgets.

While i am unable to reproduce the errors, i request you to try installing these modules separately and try rebuilding the project.

For Arch:

sudo pacman -S qt5-multimedia qt5-multimediawidgets

For Debian:

sudo apt-get install libqt5multimedia5 libqt5multimediawidgets5

I couldn't find qt5-multimediawidgets, but qt5-multimedia did get installed and then after was able to qmake, but then after launching the following appears:

Warning: "No decoder available for type 'video/x-h264, stream-format=(string)avc, pixel-aspect-ratio=(fraction)1/1, width=(int)1920, height=(int)1080, framerate=(fraction)25/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, alignment=(string)au, profile=(string)main, level=(string)4, codec_data=(buffer)014d4028ffe10026274d4028b9180f0044fcb808800000030080000019701000098968000393875ef701f080413801000428febc80'."`

I'll go ahead and rebuild again and report back.

After removing and starting from scratch, I was able to qmake successfully, and it came back with:

$ qmake iptv-desktop.pro Info: creating stash file /home/finnsster/iptv-desktop/src/.qmake.stash

But, still getting the same Warning above for "No decoder available for type 'video/x-h264..."

Console output from 'make':
$ make /usr/bin/uic mainwindow.ui -o ui_mainwindow.h g++ -c -pipe -O2 -std=gnu++11 -flto -fno-fat-lto-objects -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I/usr/include/qt -I/usr/include/qt/QtMultimediaWidgets -I/usr/include/qt/QtMultimedia -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtCore -I. -I. -I/usr/lib/qt/mkspecs/linux-g++ -o main.o main.cpp g++ -c -pipe -O2 -std=gnu++11 -flto -fno-fat-lto-objects -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I/usr/include/qt -I/usr/include/qt/QtMultimediaWidgets -I/usr/include/qt/QtMultimedia -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtCore -I. -I. -I/usr/lib/qt/mkspecs/linux-g++ -o mainwindow.o mainwindow.cpp mainwindow.cpp: In member function ‘void MainWindow::sortbyopt_changed(int)’: mainwindow.cpp:326:86: warning: ‘std::__cxx11::list<T> QList<T>::toStdList() const [with T = QString]’ is deprecated: Use std::list<T>(list.begin(), list.end()) instead. [-Wdeprecated-declarations] 326 | SELECTED = QStringList::fromStdList(objlist[sortby->currentIndex()-1]->toStdList())[idx]; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ In file included from /usr/include/qt/QtCore/qhash.h:46, from /usr/include/qt/QtCore/qshareddata.h:46, from /usr/include/qt/QtCore/QSharedDataPointer:1, from /usr/include/qt/QtNetwork/qnetworkrequest.h:44, from /usr/include/qt/QtNetwork/qnetworkaccessmanager.h:44, from /usr/include/qt/QtNetwork/QNetworkAccessManager:1, from mainwindow.h:3, from mainwindow.cpp:1: /usr/include/qt/QtCore/qlist.h:419:25: note: declared here 419 | inline std::list<T> toStdList() const | ^~~~~~~~~ mainwindow.cpp:326:41: warning: ‘static QList<T> QList<T>::fromStdList(const std::__cxx11::list<T>&) [with T = QString]’ is deprecated: Use QList<T>(list.begin(), list.end()) instead. [-Wdeprecated-declarations] 326 | SELECTED = QStringList::fromStdList(objlist[sortby->currentIndex()-1]->toStdList())[idx]; | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/qt/QtCore/qlist.h:416:28: note: declared here 416 | static inline QList<T> fromStdList(const std::list<T> &list) | ^~~~~~~~~~~ mainwindow.cpp: In member function ‘void MainWindow::channels_changed(int)’: mainwindow.cpp:333:59: warning: ‘std::__cxx11::list<T> QList<T>::toStdList() const [with T = QString]’ is deprecated: Use std::list<T>(list.begin(), list.end()) instead. [-Wdeprecated-declarations] 333 | SELECTED2 = QStringList::fromStdList(id_con->toStdList())[idx]; | ~~~~~~~~~~~~~~~~~^~ /usr/include/qt/QtCore/qlist.h:419:25: note: declared here 419 | inline std::list<T> toStdList() const | ^~~~~~~~~ mainwindow.cpp:333:41: warning: ‘static QList<T> QList<T>::fromStdList(const std::__cxx11::list<T>&) [with T = QString]’ is deprecated: Use QList<T>(list.begin(), list.end()) instead. [-Wdeprecated-declarations] 333 | SELECTED2 = QStringList::fromStdList(id_con->toStdList())[idx]; | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /usr/include/qt/QtCore/qlist.h:416:28: note: declared here 416 | static inline QList<T> fromStdList(const std::list<T> &list) | ^~~~~~~~~~~ mainwindow.cpp:334:64: warning: ‘std::__cxx11::list<T> QList<T>::toStdList() const [with T = QString]’ is deprecated: Use std::list<T>(list.begin(), list.end()) instead. [-Wdeprecated-declarations] 334 | QString icon = QStringList::fromStdList(icon_con->toStdList())[idx]; | ~~~~~~~~~~~~~~~~~~~^~ /usr/include/qt/QtCore/qlist.h:419:25: note: declared here 419 | inline std::list<T> toStdList() const | ^~~~~~~~~ mainwindow.cpp:334:44: warning: ‘static QList<T> QList<T>::fromStdList(const std::__cxx11::list<T>&) [with T = QString]’ is deprecated: Use QList<T>(list.begin(), list.end()) instead. [-Wdeprecated-declarations] 334 | QString icon = QStringList::fromStdList(icon_con->toStdList())[idx]; | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/qt/QtCore/qlist.h:416:28: note: declared here 416 | static inline QList<T> fromStdList(const std::list<T> &list) | ^~~~~~~~~~~ /usr/bin/rcc -name icons icons.qrc -o qrc_icons.cpp g++ -c -pipe -O2 -std=gnu++11 -flto -fno-fat-lto-objects -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I/usr/include/qt -I/usr/include/qt/QtMultimediaWidgets -I/usr/include/qt/QtMultimedia -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtCore -I. -I. -I/usr/lib/qt/mkspecs/linux-g++ -o qrc_icons.o qrc_icons.cpp g++ -pipe -O2 -std=gnu++11 -flto -fno-fat-lto-objects -Wall -Wextra -dM -E -o moc_predefs.h /usr/lib/qt/mkspecs/features/data/dummy.cpp /usr/bin/moc -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB --include /home/finnsster/iptv-desktop/src/moc_predefs.h -I/usr/lib/qt/mkspecs/linux-g++ -I/home/finnsster/iptv-desktop/src -I/usr/include/qt -I/usr/include/qt/QtMultimediaWidgets -I/usr/include/qt/QtMultimedia -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtCore -I/usr/include/c++/13.2.1 -I/usr/include/c++/13.2.1/x86_64-pc-linux-gnu -I/usr/include/c++/13.2.1/backward -I/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include -I/usr/local/include -I/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include-fixed -I/usr/include mainwindow.h -o moc_mainwindow.cpp g++ -c -pipe -O2 -std=gnu++11 -flto -fno-fat-lto-objects -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I/usr/include/qt -I/usr/include/qt/QtMultimediaWidgets -I/usr/include/qt/QtMultimedia -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtCore -I. -I. -I/usr/lib/qt/mkspecs/linux-g++ -o moc_mainwindow.o moc_mainwindow.cpp g++ -Wl,-O1 -pipe -O2 -std=gnu++11 -flto=12 -fno-fat-lto-objects -fuse-linker-plugin -Wl,-rpath-link,/usr/lib -fPIC -o iptv-desktop main.o mainwindow.o qrc_icons.o moc_mainwindow.o /usr/lib/libQt5MultimediaWidgets.so /usr/lib/libQt5Multimedia.so /usr/lib/libQt5Widgets.so /usr/lib/libQt5Gui.so /usr/lib/libQt5Network.so /usr/lib/libQt5Core.so -lGL -lpthread

Additional info:
$ vainfo Trying display: wayland Trying display: x11 vainfo: VA-API version: 1.20 (libva 2.20.0) vainfo: Driver version: Mesa Gallium driver 23.2.1-arch1.2 for AMD Radeon RX 6800 XT (navi21, LLVM 16.0.6, DRM 3.54, 6.6.2-arch1-1) vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileHEVCMain : VAEntrypointVLD VAProfileHEVCMain : VAEntrypointEncSlice VAProfileHEVCMain10 : VAEntrypointVLD VAProfileHEVCMain10 : VAEntrypointEncSlice VAProfileJPEGBaseline : VAEntrypointVLD VAProfileVP9Profile0 : VAEntrypointVLD VAProfileVP9Profile2 : VAEntrypointVLD VAProfileAV1Profile0 : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc

I got it sorted. Needed gst-libav too, now it's working great.

gst-libav-1.22.7-1-x86_64

0x0is1 commented

Thank you. I will check the issue in the morning.

0x0is1 commented

@Hi-Phile mind reviewing the changes? Thanks

0x0is1 commented

Issue fixed in PR #3