Closed kuepe-sl closed 2 years ago
Apparently this issue seems to be the source of a problem with GStreamer and Qt as well: https://github.com/conda-forge/qt-feedstock/issues/226
relevant excerpt from the Qt build log on linux-64:
2022-01-20T06:15:53.4450196Z Checking for GStreamer 1.0...
2022-01-20T06:15:53.4455355Z Trying source 0 (type pkgConfig) of library gstreamer_1_0 ...
2022-01-20T06:15:53.4461786Z + /home/conda/feedstock_root/build_artifacts/qt_1642658749304/_build_env/bin/pkg-config --exists --silence-errors gstreamer-1.0 gstreamer-base-1.0 gstreamer-audio-1.0 gstreamer-video-1.0 gstreamer-pbutils-1.0
2022-01-20T06:15:53.4698106Z + /home/conda/feedstock_root/build_artifacts/qt_1642658749304/_build_env/bin/pkg-config --modversion gstreamer-1.0 gstreamer-base-1.0 gstreamer-audio-1.0 gstreamer-video-1.0 gstreamer-pbutils-1.0
2022-01-20T06:15:53.4902702Z > 1.18.5
2022-01-20T06:15:53.4903362Z > 1.18.5
2022-01-20T06:15:53.4903732Z > 1.18.5
2022-01-20T06:15:53.4904057Z > 1.18.5
2022-01-20T06:15:53.4904361Z > 1.18.5
2022-01-20T06:15:53.4911921Z + /home/conda/feedstock_root/build_artifacts/qt_1642658749304/_build_env/bin/pkg-config --libs-only-L gstreamer-1.0 gstreamer-base-1.0 gstreamer-audio-1.0 gstreamer-video-1.0 gstreamer-pbutils-1.0
2022-01-20T06:15:53.5122272Z > -L/home/conda/feedstock_root/build_artifacts/qt_1642658749304/_h_env_placehol/lib
2022-01-20T06:15:53.5124085Z + /home/conda/feedstock_root/build_artifacts/qt_1642658749304/_build_env/bin/pkg-config --libs-only-l gstreamer-1.0 gstreamer-base-1.0 gstreamer-audio-1.0 gstreamer-video-1.0 gstreamer-pbutils-1.0
2022-01-20T06:15:53.5332696Z > -lgstpbutils-1.0 -lgstaudio-1.0 -lgstvideo-1.0 -lgstbase-1.0 -lgsttag-1.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0
2022-01-20T06:15:53.5358977Z + /home/conda/feedstock_root/build_artifacts/qt_1642658749304/_build_env/bin/pkg-config --cflags gstreamer-1.0 gstreamer-base-1.0 gstreamer-audio-1.0 gstreamer-video-1.0 gstreamer-pbutils-1.0
2022-01-20T06:15:53.5571915Z > -pthread -I/home/conda/feedstock_root/build_artifacts/qt_1642658749304/_h_env_placehol/include/gstreamer-1.0 -I/home/conda/feedstock_root/build_artifacts/qt_1642658749304/_h_env_placehol/include -I/home/conda/feedstock_root/build_artifacts/qt_1642658749304/_h_env_placehol/include/glib-2.0 -I/home/conda/feedstock_root/build_artifacts/qt_1642658749304/_h_env_placehol/lib/glib-2.0/include -I/home/conda/feedstock_root/build_artifacts/qt_1642658749304/_h_env_placehol/include
2022-01-20T06:15:53.5579576Z Note: Dropped compiler flags '-pthread'.
2022-01-20T06:15:53.5585996Z Include path /home/conda/feedstock_root/build_artifacts/qt_1642658749304/_h_env_placehol/include/glib-2.0 is invalid.
2022-01-20T06:15:53.5588165Z Include path /home/conda/feedstock_root/build_artifacts/qt_1642658749304/_h_env_placehol/lib/glib-2.0/include is invalid.
2022-01-20T06:15:53.5590551Z => source produced no result.
2022-01-20T06:15:53.5593360Z test config.qtmultimedia_multimedia.libraries.gstreamer_1_0 FAILED
@andfoy Any idea on how I could fix this in a clean way?
According to my local builds, GStreamer is being picked up correctly:
Qt Multimedia:
ALSA ................................... yes
GStreamer 1.0 .......................... yes
GStreamer 0.10 ......................... no
Video for Linux ........................ yes
OpenAL ................................. no
PulseAudio ............................. yes
Resource Policy (libresourceqt5) ....... no
Windows Audio Services ................. no
DirectShow ............................. no
Windows Media Foundation ............... no
According to the glib-feedstock, the name of the exported package is libglib
: https://github.com/conda-forge/glib-feedstock/blob/757c9fd62adacb868d55f05889b07c79b550afd5/recipe/meta.yaml#L135, maybe we should depend on that one
It isn't picked up in the official Conda Forge builds. This is where it fails in the most recent commit of qt-feedstock: https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=478704&view=logs&j=656edd35-690f-5c53-9ba3-09c10d0bea97&t=e5c8ab1d-8ff9-5cae-b332-e15ae582ed2d&l=3376
Okay - thanks! I'll make a fork where I build against libglib
. Let's see if that fixes it.
The idea would be see if including libglib
in the host section fixes this problem
libglib
was unfortunately not the solution. GStreamer doesn't build when only libglib
is specified in the host section.
libglib
contains:
glib
contains:
During the build stage, all the things in bold are required. That is the case for both, building GStreamer itself and applications that use the GStreamer library. (like Qt)
So putting glib
into the "host" section is correct.
There are two solutions I can imagine:
I'm building a tool that uses GStreamer. However it fails to build unless I explicitly add
glib
into the meta.yamlhost
section.My meta.yaml requirements are:
Conda environments (Linux):
CMake Configure results, Linux:
CMake Configure results, Windows: