On Wed, Oct 28, 2020 at 02:36:06AM -0500, Marty Jack via blfs-dev wrote: > > > On Tue, 27 Oct 2020 17:00:15 -0500 Ken Moffat via blfs-dev wrote: > > (Cc: to support if I remember, in case anyone else hits this) > > > > Starting to upgrade my systems for whatever has caused today's > > gstreamer releases. Most are still running 9.1 with 1.16.2. > > Normally I build gstreamer well before qt, but trying to upgrade has > > changed that. > > > > In gst-plugins-base it finds all the Qt items it tests for, but then > > fails: > > > > FAILED: tests/examples/overlay/qtgv-videooverlay.p/qtgv-videooverlay.cpp.o > > c++ -Itests/examples/overlay/qtgv-videooverlay.p -Itests/examples/overlay > > -I../tests/examples/overlay -I. -I.. -Igst-libs -I../gst-libs > > -Igst-libs/gst/video -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include > > -I/usr/include/gstreamer-1.0 -I/opt/qt5/include -I/opt/qt5/include/QtGui > > -I/opt/qt5/include/QtWidgets -fdiagnostics-color=always -pipe > > -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -O3 > > -Waggregate-return -Wmissing-declarations -Wredundant-decls -Wundef > > -Wwrite-strings -Wformat -Wformat-nonliteral -Wformat-security -Winit-self > > -Wmissing-include-dirs -Waddress -Wno-multichar -Wvla -Wpointer-arith > > -march=native -fstack-clash-protection -D_FORTIFY_SOURCE=2 > > -fstack-protector-strong -D_GLIBCXX_ASSERTIONS -DQT_GUI_LIB > > -DQT_WIDGETS_LIB -fPIC -pthread -DHAVE_CONFIG_H -MD -MQ > > tests/examples/overlay/qtgv-videooverlay.p/qtgv-videooverlay.cpp.o -MF > > tests/examples/overlay/qtgv-videooverlay.p/qtgv-videooverlay.cpp.o.d -o > > tests/examples/overlay/qtgv-videooverlay.p/qtgv-videooverlay.cpp.o -c > > ../tests/examples/overlay/qtgv-videooverlay.cpp > > ../tests/examples/overlay/qtgv-videooverlay.cpp:29:10: fatal error: QTimer: > > No such file or directory > > 29 | #include <QTimer> > > | ^~~~~~~~ > > > > > > Adding -Dexamples=disabled worked around it. > > > > I got a similar failure in 1.18.1. > > > > Looking at Qt files on the current system, I see several > > #include <QtCore/QTimer> > > > > In current 1.18.1 I can see references in > > ./tests/examples/overlay/qtgv-videooverlay.cpp:#include <QTimer> > > ./tests/examples/overlay/qt-videooverlay.cpp:#include <QTimer> > > ./tests/examples/gl/qt/videooverlay/videooverlay.cpp:#include <QTimer> > > ./gst-libs/gst/video/videooverlay.c: * #include <QTimer>; > > > > That last one is a comment on how to use the file. > > > > I guess that perhaps these should all be changed to #include > > <QtCore/QTimer> ? But looking back they have lived there since at > > least 5.11.1. Perhaps something in Qt changed, or maybe nobody else > > is affected ? > > > > For me the workaround is adequate. > > > > ĸen > > -- > > The people next door oppress me all night long. I tell them: I work > > all day, a man's got to have some time to learn to play the tuba. > > That's oppression, that is. [ Guards! Guards! ] > > -- > > http://lists.linuxfromscratch.org/listinfo/blfs-dev > > FAQ: http://www.linuxfromscratch.org/blfs/faq.html > > Unsubscribe: See the above information page > > As best I know, Qt recommends just using the class rather than prefixing the > containing module (QtCore). > The official Qt examples are all coded this way. > If nothing else the documentation of the QTimer class says Header: > #include <QTimer> > Nothing has changed recently in Qt about the way includes are expected to be > done. > > You should have had -I/opt/qt5/include/QtCore in the compilation command. > That should have come from the Cflags in Qt5Core.pc. > That should have been tested by > gst-plugins-base-1.18.1/tests/examples/gl/meson.build at line 4. > Maybe that is a fruitful path to investigate what is wrong with your setup. > > My configure looks like > > Run-time dependency qt5 (modules: Core) found: YES 5.15.1 (pkg-config) > Run-time dependency qt5 (modules: Core, Gui, Widgets) found: YES 5.15.1 > (pkg-config) > Run-time dependency qt5 (modules: OpenGL) found: YES 5.15.1 (pkg-config) > > and I do not get the failure that you get. Interesting - I temporarily reverted that change before trying to do another 9.1 system, failed similarly to previous update. But my output from meson is nothing like what you posted, I guess you used configure?
My qt5 meson output, and the lines before/after: Run-time dependency sdl found: NO (tried pkgconfig and cmake) WARNING: rcc dependencies will not work reliably until this upstream issue is fixed: https://bugreports.qt.io/browse/QTBUG-45460 Found qmake: /usr/bin/qmake-qt5 (5.15.1) Run-time dependency qt5 (modules: Gui, Widgets) found: YES 5.15.1 (qmake-qt5) Program moc-qt5 found: YES (/usr/bin/moc-qt5) Detecting Qt5 tools Found qmake: /usr/bin/qmake-qt5 (5.15.1) moc: YES (/opt/qt5/bin/moc, 5.15.1) uic: YES (/opt/qt5/bin/uic, 5.15.1) rcc: YES (/opt/qt5/bin/rcc, 5.15.1) lrelease: YES (/opt/qt5/bin/lrelease, 5.15.1) Checking if "Linux joystick headers needed by jseek example" compiles: YES Configuring gstreamer-allocators-1.0.pc using configuration That bug was fixed for 5.14.0. I'll revert my revert - the workaround (not building examples) is adequate for my needs. ĸen -- The people next door oppress me all night long. I tell them: I work all day, a man's got to have some time to learn to play the tuba. That's oppression, that is. [ Guards! Guards! ] -- http://lists.linuxfromscratch.org/listinfo/blfs-dev FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page