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

Reply via email to