← Back to team overview

ubuntu-sdk-bugs team mailing list archive

[Bug 1950959] Re: Missing dependency in libqt5gstreamer-dev

 

debdiff attached for Jammy.


** Changed in: qtcreator (Ubuntu)
       Status: New => Fix Released

** Changed in: qtcreator (Ubuntu Focal)
       Status: New => In Progress

** Changed in: qtcreator (Ubuntu Focal)
     Assignee: (unassigned) => Sudip Mukherjee (sudipmuk)

** Changed in: qtcreator (Ubuntu Jammy)
       Status: New => Confirmed

** Summary changed:

- Missing dependency in libqt5gstreamer-dev
+ [SRU] Missing dependency in libqt5gstreamer-dev

** Description changed:

+ [ Impact ]
+ 
+ The package libqt5gstreamer-dev is mostly unusable for users whose development environment uses pkg-config to find dependencies.
+ If we use pkg-config to find the CFLAGS that are needed to link with libQt5GStreamer-1.0.so then that will fail.
+ 
+ An example command:
+ 
+ # pkg-config --cflags Qt5GStreamer-1.0
+ Package gobject-2.0 was not found in the pkg-config search path.
+ Perhaps you should add the directory containing `gobject-2.0.pc'
+ to the PKG_CONFIG_PATH environment variable
+ Package 'gobject-2.0', required by 'Qt5GLib-2.0', not found
+ 
+ [ Test Plan ]
+ 
+  * Execute the command "pkg-config --cflags Qt5GStreamer-1.0" and cofirm
+ that pkg-config can find the CFLAGS needed to link with
+ libQt5GStreamer-1.0.so
+ 
+ [ Where problems could occur ]
+ 
+  * The dependency fix alone should not cause any problem as its not
+ changing any part of the code. But another fix from Debian had to be
+ added, as without that fix the package is failing to build in Jammy.
+ And, this patch is removing a volatile qualifier from a variable. But
+ this patch is in Debian since Sept, 2022 without any report of
+ regression so I will assume there is little chance of regression on
+ adding it here in Jammy.
+ 
+ [ Other Info ]
+ 
+  * the package mentioned in the bug is wrong, it affects qt-gstreamer source.
+  
+  * as mentioned above an extra Debian patch is needed. Without that patch the build fails in Jammy with the error:
+ 
+ /<<PKGBUILDDIR>>/elements/gstqtvideosink/gstqwidgetvideosink.cpp: In static member function ‘static GType GstQWidgetVideoSink::get_type()’:
+ /usr/include/glib-2.0/glib/gatomic.h:113:19: error: argument 2 of ‘__atomic_load’ must not be a pointer to a ‘volatile’ type
+   113 |     __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
+       |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ /usr/include/glib-2.0/glib/gthread.h:260:7: note: in expansion of macro ‘g_atomic_pointer_get’
+   260 |     (!g_atomic_pointer_get (location) &&                             \
+       |       ^~~~~~~~~~~~~~~~~~~~
+ /<<PKGBUILDDIR>>/elements/gstqtvideosink/gstqtvideosinkplugin.h:31:13: note: in expansion of macro ‘g_once_init_enter’
+    31 |         if (g_once_init_enter(&gonce_data)) { \
+       |             ^~~~~~~~~~~~~~~~~
+ /<<PKGBUILDDIR>>/elements/gstqtvideosink/gstqtvideosinkplugin.h:56:5: note: in expansion of macro ‘DEFINE_TYPE_FULL’
+    56 |     DEFINE_TYPE_FULL(cpp_type, #cpp_type "_qt5", parent_type, Q_UNUSED)
+       |     ^~~~~~~~~~~~~~~~
+ /<<PKGBUILDDIR>>/elements/gstqtvideosink/gstqwidgetvideosink.cpp:22:1: note: in expansion of macro ‘DEFINE_TYPE’
+    22 | DEFINE_TYPE(GstQWidgetVideoSink, GST_TYPE_QT_VIDEO_SINK_BASE)
+       | ^~~~~~~~~~~
+ make[4]: *** [elements/gstqtvideosink/CMakeFiles/gstqt5videosink.dir/build.make:227: elements/gstqtvideosink/CMakeFiles/gstqt5videosink.dir/gstqwidgetvideosink.cpp.o] Error 1
+ 
+ 
+ * The problem has been fixed in Debian with qt-gstreamer_1.2.0-5.2, so Lunar, Mantic and Noble are not affected. Only Jammy and Focal are affected.
+ 
+ [ Original Bug Description ]
+ 
  After installing libqt5gstreamer-dev, the following command fails:
  
  pkg-config --exists Qt5GStreamer-1.0 || echo "Failed"
  Failed
  
  more info:
  pkg-config --cflags Qt5GStreamer-1.0
  Package gstreamer-1.0 was not found in the pkg-config search path.
  Perhaps you should add the directory containing `gstreamer-1.0.pc'
  to the PKG_CONFIG_PATH environment variable
  Package 'gstreamer-1.0', required by 'Qt5GStreamer-1.0', not found
  
  After installing libgstreamer-plugins-base1.0-dev (also brings the
  missing libgstreamer1.0-dev), it works.
  
  * Ubuntu 20.04.3 LTS
  * libqt5gstreamer-dev (1.2.0-5)
  * amd64

** Tags added: focal jammy

** Patch added: "qt-gstreamer_jammy.debdiff"
   https://bugs.launchpad.net/ubuntu/+source/qtcreator/+bug/1950959/+attachment/5730779/+files/qt-gstreamer_jammy.debdiff

-- 
You received this bug notification because you are a member of Ubuntu
SDK bug tracking, which is subscribed to qtcreator in Ubuntu.
https://bugs.launchpad.net/bugs/1950959

Title:
  [SRU] Missing dependency in libqt5gstreamer-dev

Status in qtcreator package in Ubuntu:
  Fix Released
Status in qtcreator source package in Focal:
  In Progress
Status in qtcreator source package in Jammy:
  Confirmed
Status in qt-gstreamer package in Debian:
  Fix Released

Bug description:
  [ Impact ]

  The package libqt5gstreamer-dev is mostly unusable for users whose development environment uses pkg-config to find dependencies.
  If we use pkg-config to find the CFLAGS that are needed to link with libQt5GStreamer-1.0.so then that will fail.

  An example command:

  # pkg-config --cflags Qt5GStreamer-1.0
  Package gobject-2.0 was not found in the pkg-config search path.
  Perhaps you should add the directory containing `gobject-2.0.pc'
  to the PKG_CONFIG_PATH environment variable
  Package 'gobject-2.0', required by 'Qt5GLib-2.0', not found

  [ Test Plan ]

   * Execute the command "pkg-config --cflags Qt5GStreamer-1.0" and
  cofirm that pkg-config can find the CFLAGS needed to link with
  libQt5GStreamer-1.0.so

  [ Where problems could occur ]

   * The dependency fix alone should not cause any problem as its not
  changing any part of the code. But another fix from Debian had to be
  added, as without that fix the package is failing to build in Jammy.
  And, this patch is removing a volatile qualifier from a variable. But
  this patch is in Debian since Sept, 2022 without any report of
  regression so I will assume there is little chance of regression on
  adding it here in Jammy.

  [ Other Info ]

   * the package mentioned in the bug is wrong, it affects qt-gstreamer source.
   
   * as mentioned above an extra Debian patch is needed. Without that patch the build fails in Jammy with the error:

  /<<PKGBUILDDIR>>/elements/gstqtvideosink/gstqwidgetvideosink.cpp: In static member function ‘static GType GstQWidgetVideoSink::get_type()’:
  /usr/include/glib-2.0/glib/gatomic.h:113:19: error: argument 2 of ‘__atomic_load’ must not be a pointer to a ‘volatile’ type
    113 |     __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
        |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/glib-2.0/glib/gthread.h:260:7: note: in expansion of macro ‘g_atomic_pointer_get’
    260 |     (!g_atomic_pointer_get (location) &&                             \
        |       ^~~~~~~~~~~~~~~~~~~~
  /<<PKGBUILDDIR>>/elements/gstqtvideosink/gstqtvideosinkplugin.h:31:13: note: in expansion of macro ‘g_once_init_enter’
     31 |         if (g_once_init_enter(&gonce_data)) { \
        |             ^~~~~~~~~~~~~~~~~
  /<<PKGBUILDDIR>>/elements/gstqtvideosink/gstqtvideosinkplugin.h:56:5: note: in expansion of macro ‘DEFINE_TYPE_FULL’
     56 |     DEFINE_TYPE_FULL(cpp_type, #cpp_type "_qt5", parent_type, Q_UNUSED)
        |     ^~~~~~~~~~~~~~~~
  /<<PKGBUILDDIR>>/elements/gstqtvideosink/gstqwidgetvideosink.cpp:22:1: note: in expansion of macro ‘DEFINE_TYPE’
     22 | DEFINE_TYPE(GstQWidgetVideoSink, GST_TYPE_QT_VIDEO_SINK_BASE)
        | ^~~~~~~~~~~
  make[4]: *** [elements/gstqtvideosink/CMakeFiles/gstqt5videosink.dir/build.make:227: elements/gstqtvideosink/CMakeFiles/gstqt5videosink.dir/gstqwidgetvideosink.cpp.o] Error 1

  
  * The problem has been fixed in Debian with qt-gstreamer_1.2.0-5.2, so Lunar, Mantic and Noble are not affected. Only Jammy and Focal are affected.

  [ Original Bug Description ]

  After installing libqt5gstreamer-dev, the following command fails:

  pkg-config --exists Qt5GStreamer-1.0 || echo "Failed"
  Failed

  more info:
  pkg-config --cflags Qt5GStreamer-1.0
  Package gstreamer-1.0 was not found in the pkg-config search path.
  Perhaps you should add the directory containing `gstreamer-1.0.pc'
  to the PKG_CONFIG_PATH environment variable
  Package 'gstreamer-1.0', required by 'Qt5GStreamer-1.0', not found

  After installing libgstreamer-plugins-base1.0-dev (also brings the
  missing libgstreamer1.0-dev), it works.

  * Ubuntu 20.04.3 LTS
  * libqt5gstreamer-dev (1.2.0-5)
  * amd64

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qtcreator/+bug/1950959/+subscriptions



References