[Pkg-kde-extras] Bug#941867: qt-gstreamer FTBFS: error: invalid cast from type ‘const CapsPtr’ to type ‘GstMiniObject*’

Helmut Grohne helmut at subdivi.de
Sun Oct 6 22:12:00 BST 2019


Source: qt-gstreamer
Version: 1.2.0-5
Severity: serious
Tags: ftbfs

qt-gstreamer fails to build from source in unstable on amd64. A build in
sbuild ends with:

| [ 22%] Building CXX object src/QGst/CMakeFiles/Qt5GStreamer.dir/caps.cpp.o
| cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/QGst && /usr/bin/c++  -DGST_DISABLE_LOADSAVE -DGST_DISABLE_XML -DQTGLVIDEOSINK_NAME=\"qt5glvideosink\" -DQTVIDEOSINK_NAME=\"qt5videosink\" -DQT_CORE_LIB -DQT_NO_DEBUG -DQT_NO_KEYWORDS -DQWIDGETVIDEOSINK_NAME=\"qwidget5videosink\" -DQt5GStreamer_EXPORTS -I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/QGst -I/<<PKGBUILDDIR>>/src/QGst -I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/QGst/Qt5GStreamer_autogen/include -I/<<PKGBUILDDIR>>/src -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -Wformat-security -Wundef -Wpointer-arith -fno-common -fvisibility=hidden -fvisibility-inlines-hidden -std=c++0x -O2 -g -DNDEBUG -fPIC   -pthread -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -fPIC -std=gnu++11 -o CMakeFiles/Qt5GStreamer.dir/caps.cpp.o -c /<<PKGBUILDDIR>>/src/QGst/caps.cpp
| In file included from /usr/include/gstreamer-1.0/gst/gstbuffer.h:30,
|                  from /usr/include/gstreamer-1.0/gst/gstpad.h:70,
|                  from /usr/include/gstreamer-1.0/gst/gstelement.h:87,
|                  from /usr/include/gstreamer-1.0/gst/gstbin.h:27,
|                  from /usr/include/gstreamer-1.0/gst/gst.h:35,
|                  from /<<PKGBUILDDIR>>/src/QGst/caps.cpp:22:
| /<<PKGBUILDDIR>>/src/QGst/caps.cpp: In member function ‘void QGst::Caps::append(const CapsPtr&)’:
| /usr/include/gstreamer-1.0/gst/gstminiobject.h:33:65: error: invalid cast from type ‘const CapsPtr’ {aka ‘const QGlib::RefPointer<QGst::Caps>’} to type ‘GstMiniObject*’ {aka ‘_GstMiniObject*’}
|    33 | #define GST_MINI_OBJECT_CAST(obj)          ((GstMiniObject*)(obj))
|       |                                                                 ^
| /usr/include/gstreamer-1.0/gst/gstcaps.h:35:47: note: in definition of macro ‘GST_CAPS_CAST’
|    35 | #define GST_CAPS_CAST(obj)        ((GstCaps*)(obj))
|       |                                               ^~~
| /usr/include/gstreamer-1.0/gst/gstcaps.h:249:29: note: in expansion of macro ‘GST_CAPS’
|   249 | #define gst_caps_copy(caps) GST_CAPS (gst_mini_object_copy (GST_MINI_OBJECT_CAST (caps)))
|       |                             ^~~~~~~~
| /usr/include/gstreamer-1.0/gst/gstcaps.h:249:61: note: in expansion of macro ‘GST_MINI_OBJECT_CAST’
|   249 | #define gst_caps_copy(caps) GST_CAPS (gst_mini_object_copy (GST_MINI_OBJECT_CAST (caps)))
|       |                                                             ^~~~~~~~~~~~~~~~~~~~
| /<<PKGBUILDDIR>>/src/QGst/caps.cpp:57:40: note: in expansion of macro ‘gst_caps_copy’
|    57 |     gst_caps_append(object<GstCaps>(), gst_caps_copy(caps2));
|       |                                        ^~~~~~~~~~~~~
| make[4]: *** [src/QGst/CMakeFiles/Qt5GStreamer.dir/build.make:122: src/QGst/CMakeFiles/Qt5GStreamer.dir/caps.cpp.o] Error 1
| make[4]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
| make[3]: *** [CMakeFiles/Makefile2:352: src/QGst/CMakeFiles/Qt5GStreamer.dir/all] Error 2
| make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
| make[2]: *** [Makefile:144: all] Error 2
| make[2]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
| dh_auto_build: cd obj-x86_64-linux-gnu && make -j1 all returned exit code 2
| make[1]: *** [debian/rules:18: override_dh_auto_build-arch] Error 255
| make[1]: Leaving directory '/<<PKGBUILDDIR>>'
| make: *** [debian/rules:36: build] Error 2
| dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2

Reproducible by reproducible builds:

https://tests.reproducible-builds.org/debian/rbuild/unstable/amd64/qt-gstreamer_1.2.0-5.rbuild.log.gz

Helmut



More information about the pkg-kde-extras mailing list