On Wed, 28 Oct 2020 16:02:02 -0500 Ken Moffat via blfs-dev wrote:
> 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

No, I'm on meson (0.55.3).  The snip I posted is above the snip you posted and 
mine is a little different in the area you posted.
It looks as though you are happy with the outcome and won't be pursuing it 
further.

However I tracked it down.  For whatever reason you are not passing the tests 
in gst-libs/gst/gl/meson.build that leave build_gstgl = true.
This causes tests/examples/meson.build to skip subdir gl.  This causes the 
includes to be set from tests/overlay/meson.build.  That file fails to mention 
Core in line 12.  The tests/overlay/meson.build should mention Core which is in 
fact needed to build the overlay directory and that is a bug in that file.  
Your output line "Run-time dependency qt5" is coming from line 12.

In my case build_gstgl is set, tests/examples/gl and tests/examples/gl/qt do 
the Qt checks, and I get all the headers they both need.

-- 
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